asp.net – 确定哪个UpdatePanel导致部分(异步)PostBack?
发布时间:2020-05-30 06:00:03 所属栏目:asp.Net 来源:互联网
导读:在一个页面中包含两个UpdatePanels,如何知道哪个UpdatePanel导致部分PostBack? 我的意思是在Page_Load事件处理程序中. 这是我的代码: asp:ScriptManager ID=ScriptManager1 runat=server /asp:ScriptManager asp:UpdatePanel ID=UpdatePanel1 r
|
在一个页面中包含两个UpdatePanels,如何知道哪个UpdatePanel导致部分PostBack? 我的意思是在Page_Load事件处理程序中. 这是我的代码: <asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"
onprerender="UpdatePanel1_PreRender">
<ContentTemplate>
<A:u1 ID="u1" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional"
onprerender="UpdatePanel2_PreRender">
<ContentTemplate>
<A:u2 ID="u2" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
我尝试过这个代码,但是它并没有起作用! protected void Page_Load(object sender,EventArgs e)
{
if (ScriptManager.GetCurrent(Page).IsInAsyncPostBack)
{
if (UpdatePanel1.IsInPartialRendering)
{
// never enter to here
}
if (UpdatePanel2.IsInPartialRendering)
{
// neither here
}
}
}
任何帮助! 解决方法您可以使用 UpdatePanel类的 IsInPartialRendering属性来确定特定面板是否导致部分回发:protected void Page_Render(object sender,EventArgs e)
{
if (ScriptManager.GetCurrent(Page).IsInAsyncPostBack) {
if (yourFirstUpdatePanel.IsInPartialRendering) {
// The first UpdatePanel caused the partial postback.
} else if (yourSecondUpdatePanel.IsInPartialRendering) {
// The second UpdatePanel caused the partial postback.
}
}
}
编辑:在渲染阶段之前,IsInPartialRendering看起来总是假的.由于您在加载阶段需要该信息,因此无法正常工作.见this bug. 有一个解决方法documented here,其中包括从UpdatePanel派生您自己的类来访问其受保护的RequiresUpdate属性: public class ExtendedUpdatePanel : UpdatePanel
{
public bool IsUpdating
{
get {
return RequiresUpdate;
}
}
}
在页面标记中使用ExtendedUpdatePanel替换asp:UpdatePanel之后,上面的代码变成: protected void Page_Load(object sender,EventArgs e)
{
if (ScriptManager.GetCurrent(Page).IsInAsyncPostBack) {
if (yourFirstUpdatePanel.IsUpdating) {
// The first UpdatePanel caused the partial postback.
} else if (yourSecondUpdatePanel.IsUpdating) {
// The second UpdatePanel caused the partial postback.
}
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – mvc3在另一个内部嵌入了局部视图
- asp.net – 有没有比升级到Visual Studio 2010 Ultimate更便
- asp.net-mvc – 哪一层应该构建一个View Model?
- asp.net-mvc – 在ASP.Net MVC视图中显示/隐藏链接
- asp.net-mvc-2 – ASP.NET MVC数据注释客户端验证与继承的R
- ASP.NET JSON Web令牌“401 Unauthorized”
- 在ASP.NET MVC中模拟User.Identity
- asp.net – 使用sql server的Web应用程序中的审计跟踪
- 我可以使用ASP.NET成员身份实体框架吗?
- 表现 – 异步等待:他们不好吗?
推荐文章
站长推荐
- 在ASP.NET MVC视图中渲染HTML文件?
- ASP.NET MVP vs ASP.NET MVC
- asp.net-mvc – 在Asp.net MVC中导出到Excel [已
- 使用Asp.Net MVC和Web Api配置Ninject
- asp.net中一个linq分页实现代码
- asp.net-mvc – HttpContext.Items与ASP.NET MVC
- asp.net-mvc – 在应用程序池回收后,如何预热我的
- asp.net – Visual Studio 2008,2010或2012(v11)
- asp.net-mvc-5 – MVC 5ASP.NET身份 – 实现混乱
- asp.net-mvc-3 – 如何将MVC3中的HTML和C#代码与
热点阅读
