我有一个母版页“PartialUpdate.Master”和2个简单的内容页面“WebForm1.aspx”和“WebForm2.aspx”
WebForm1.aspx / WebForm2.aspx:内容页面只显示其文件名
母版页“PartialUpdate.Master”有2个按钮和一个ContentPlaceHolder 在UpdatePanel中。点击按钮时,我想看到相应的内容页面
这就是它的样子......
<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>
protected void ChangeForm_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
Response.Redirect(btn.CommandArgument);
}
问题在于Response.Redirect()触发整页回发。 我只是希望Master以异步方式刷新位于'ContentPlaceHolder'中的内容(这就是我添加AJAX UpdatePanel的原因)
换句话说,我想动态更改主人显示whitout的内容页面,从而导致整页回发。
这可能吗?如果是这样的话?
谢谢你 克里斯答案 0 :(得分:0)
您可以在ajax调用中使用WebRequest进行调用,并将您收到的内容写入页面... 但是你不能“知道”你想要重定向到另一个页面而不回发的浏览器。