【发布时间】:2011-04-15 12:29:54
【问题描述】:
我有一个“旧”的 ASP.NET 网站,我想稍微改进一下。我想做的一个领域是页面更新 - 目前,它始终是整页更新,但我想开始使用部分更新。
我希望能够为此使用 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 内容区域中的那些控件不可见,所以我想我真的不能将它们添加为更新触发器,对吗?
要么我完全没有得到它(绝对有可能!),要么我错过了一个明显的步骤/技巧来让它工作 - 或者这是不可能的。告诉我!
【问题讨论】:
标签: asp.net asp.net-ajax updatepanel partial-page-refresh