【发布时间】:2011-04-17 10:56:52
【问题描述】:
我有一个母版页“PartialUpdate.Master”和两个简单的内容页“WebForm1.aspx”和“WebForm2.aspx”
WebForm1.aspx/WebForm2.aspx:内容页面只显示它们的文件名
母版页“PartialUpdate.Master”有 2 个按钮和一个 ContentPlaceHolder 在更新面板中。单击按钮时,我想查看相应的内容页面
这就是它的样子......
PartialUpdate.Master:
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
Master Page
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional"
runat="server">
<ContentTemplate>
<asp:Button ID="btnForm1" CommandArgument="WebForm1.aspx"
runat="server" Text="Form1" OnClick="ChangeForm_Click" />
<asp:Button ID="btnForm2" CommandArgument="WebForm2.aspx"
runat="server" Text="Form2"
OnClick="ChangeForm_Click" />
<hr />
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnForm1"
EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="btnForm2"
EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</form>
</body>
PartialUpdate.Master.cs 背后的代码
protected void ChangeForm_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
Response.Redirect(btn.CommandArgument);
}
这里的问题是 Response.Redirect() 触发整页回发。 我只是想让Master异步刷新'ContentPlaceHolder'中的内容(这就是我添加AJAX UpdatePanel的原因)
换句话说,我想动态更改 Master 显示的内容页面,而不会导致整页回发。
这可能吗?如果有怎么办?
谢谢你 克里斯
【问题讨论】:
标签: asp.net asp.net-ajax