我有一个“遗留”的ASP.NET网站,我想提高一点。我想要做的一件事就是更新页面 - 目前,它总是全面更新,但我想开始使用部分更新。UpdatePanel和主页面中的两个内容占位符区域
我一直希望能够使用ASP.NET UpdatePanel
这个 - 但我有点卡住如何让这个为我工作。
我有一个母版页,其定义了一些内容占位符 - 简化它看起来像这样:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Default.master.cs" Inherits="WebForms_Default" %>
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>MyTitle</title>
</head>
<body>
<form id="myForm" runat="server">
<asp:ScriptManager ID="smgrMaster" runat="server" LoadScriptsBeforeUI="true">
<Scripts>
<asp:ScriptReference Path="~/Scripts/jquery-1.4.2.min.js" />
</Scripts>
</asp:ScriptManager>
<asp:ContentPlaceHolder runat="server" ID="cphSearch" />
<asp:ContentPlaceHolder runat="server" ID="cphContent" />
</form>
</body>
</html>
在我的内容页,我的网格显示cphContent
区域内的数据 - 在我cphSearch
区我有一些输入控件 - 一个RadioButtonList
和两个DropDowns
。只要这些控件中的某些内容发生更改,现在就会发布回发(它们有AutoPostback="true"
集)。
我的问题是:我怎么告诉我UpdatePanel
(这我想在我的包裹格在cphContent
区)为“监听”从cphSearch
这三个控件回发?
<asp:UpdatePanel>
<ContentTemplate>
<asp:GridView>
// grid view defined here
</asp:GridView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID=".. what values to put here?? .." />
<asp:PostBackTrigger ControlID=".. - what values to put here?? .." />
</Triggers>
当我加我<asp:UpdatePanel>
,我得到一个部分<Triggers>
,但在cphSearch
内容区域的控制是不可见的,所以我想我不能真正增加他们作为UPDATE触发器,正确?
要么我完全没有得到它(绝对有可能!),要么我错过了一个明显的步骤/诀窍让它起作用 - 否则它是不可能的。让我知道!
不知道为什么 - 但这似乎工作 - 谢谢!我始终觉得你不得不告诉UpdatePanel哪些事件会触发部分页面更新...... – 2011-04-18 07:12:13