【发布时间】:2014-05-09 15:33:28
【问题描述】:
我有一个包含 Update Panel 的母版页
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Name="jquery" />
<asp:ScriptReference Name="jquery.ui.combined" />
</Scripts>
</asp:ScriptManager>
<asp:UpdatePanel ID="container" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:ContentPlaceHolder runat="server" ID="Content" />
</ContentTemplate>
</asp:UpdatePanel>
在子视图中,当我单击按钮重定向到另一个视图时,我希望只更新container panel 的内容
protected void Login2_LoggedIn(object sender, EventArgs e)
{
Response.Redirect("/Candidat/Recap.aspx");
UpdatePanel pan = (UpdatePanel)Master.FindControl("container");
pan.Update();
}
但它不起作用:整个页面被刷新。所以:
- 我犯了什么错误?
- 如何修复我的代码?
【问题讨论】:
-
Response.Redirect 不适用于这种情况。它会将您重定向到一个新页面,无论它是否是当前页面。
-
那么如何更改页面并仅刷新面板内的部分(两个页面继承自同一个母版页)
-
有几种不同的方法可以实现您想要做的事情。您可以查看 iFrame,它在页面中“嵌入”网页。但是,我对这些没有经验,因此您必须自己研究。您还可以使用
<asp:Panel>可见性属性,并在页面中有一个面板,其中包含您的“子页面”内容。然后根据您的需要显示或隐藏它。
标签: c# asp.net .net ajax updatepanel