我想知道是否有办法确定更新面板中何时发生回发。寻找类似于(IsPostBack)的东西。
我正在使用ASP.NET,使用C#。
答案 0 :(得分:1)
使用ScriptManager.IsInAsyncPostBack
:
if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)
{
// In a request from an update panel
}
else {
// Not in a request from an update panel
}
答案 1 :(得分:0)
尝试IsCallBack - 应该这样做。
答案 2 :(得分:0)
您是否正在寻找在服务器端或客户端确定此方法的方法?我认为有一个服务器端UpdatePanel加载事件可以覆盖。客户端可以按照以下说明完成 - http://forums.asp.net/t/1254188.aspx
答案 3 :(得分:0)
如果页面中发生任何更新,您可以找到导致回发的更新面板 这可以通过javascript
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoadedHandler);
function PageLoadedHandler(sender, args)
{
//this event is raised after all content on the page is refreshed.
//Whether it was refreshed bacause of a synchronous or asynchronous
if (TargetPanelWasUpdated(args.get_panelsUpdated(), "UpdatePanel1") )
{
//do stuff
}
}
function TargetPanelWasUpdated(panelsUpdated, targetPanelID)
{
// NOTE: Multiple UpdatePanels will be included in the list unless
// you set each panel's UpdateMode property to Conditional.
var matched = false;
for (i = 0 ; i < panelsUpdated.length; i++) {
if (panelsUpdated[i].id == targetPanelID) {
matched = true;
break;
}
}
return matched;
}