2009-08-24 59 views
1

我想知道是否有方法來確定在更新面板中發佈回發的時間。尋找類似於(IsPostBack)的東西。針對更新面板發佈

我使用ASP.NET和C#。

回答

0

嘗試IsCallBack - 應該做的伎倆。

1

使用ScriptManager.IsInAsyncPostBack

if (ScriptManager.GetCurrent(this).IsInAsyncPostBack) 
{ 
    // In a request from an update panel 
} 
else { 
    // Not in a request from an update panel 
} 
0

您是否正在尋找一種方法來確定這在服務器端或客戶端?有一個服務器端的UpdatePanel加載事件,你可以覆蓋我的想法。客戶端可以按照這些指示完成 - http://forums.asp.net/t/1254188.aspx

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;  
}