2010-06-06 56 views

回答

1

未經測試

<script type="text/javascript"> 
    var app = Sys.Application; 
    app.add_init(ApplicationInit); 

    function ApplicationInit(sender) { 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    if (!prm.get_isInAsyncPostBack()) 
    { 
     prm.add_pageLoaded(PageLoaded); 
    } 
    } 

    function PageLoaded(sender, args) { 
    //Do something 
    } 

</script> 
21

這是獲得更新後結束事件的方式。

<script type="text/javascript"> 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    prm.add_endRequest(EndRequest); 

    function EndRequest(sender, args) { 
    } 
</script> 
+6

這就是美麗的後。 – DFTR 2013-07-24 21:47:47

1

如果你正在使用AJAX然後我發現沒有一個警報上向用戶返回異步回發的唯一方法是添加一個「結束請求」處理的PageRequestManager。

通過這種方式,您可以告訴請求管理器在從AJAX的異步回發事件返回時運行javascript函數。

代碼這樣做是:

function load() 

{ 
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
} 

其中「EndRequestHandler」將是你想打電話給你的javascript函數的名稱。 呼叫在標籤的onload事件上述功能:

<body onload=」load()」> 

function EndRequestHandler() 

{ 

      alert(「You record has been saved successfully」); 

} 

現在,如果你想基於服務器端代碼邏輯(代碼後面),以得到不同的信息,那麼你可以使用服務器端的隱藏字段:

<input id=」hdnValue」 type=」hidden」 runat=」server」 value=」" /> 

設置於臺異步後回到其在服務器端代碼值:

保護小組btn_Click(BYVAL發件人爲對象,BYVALË作爲System.EventArgs)把手btnCreateSample.Click

If condition Then 

    hdnValue.value = 「do this」 

    Else  

    hdnValue.value = 「do that」 

    End If 

End Sub 

現在你可以在你的客戶端EndRequestHandler功能檢查這個隱藏字段的值,並給出了基於其價值不同的警告用戶:

function EndRequestHandler() 
{ 
    if (document.getElementById(‘<%= hdnValue.ClientID %>’).value == 「do this」) 

    { 
      alert(「You record has been saved successfully」); 
    } 
    else 
    { 
      alert(「There is an error」); 
    } 
} 
0

你可以在下面的代碼中使用與如果使用的jQuery

這是顯示保存的消息,並在5秒鐘後隱藏消息更新更新面板

function pageLoad() { 
      window.Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
     } 
     function EndRequestHandler() 
     { 
      window.setTimeout(function() { 
       var label = window.$get('<%= lblMsg.ClientID%>'); 
       if (label != null) { label.style.display = 'none'; } 
      }, 5000); 
     } 
相關問題