當有控制項不在UpdatePanel 裡面時,可用PageRequestManger來控管

他的事件有(一定要有ScriptManager,且他的EnablePartialRendering要為true)

initializeRequest:在非同步postback的Request初始化之前觸發

beginRequest:在非同步postback的Request送到伺服器之前觸發

pageLoading:Client端收到非同步postback的回應之後,

它還沒更新網頁之前觸發

pageLoaded:網頁的部分更新完成之後處發

endrequest:整個Request請求完成之後觸發

 

傳資料與接收資料

Server端:ScriptManager1.RegisterDataItem(myLabel,"Hello");

Client端:

<acript type="text/javascript" language="javascript">

Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(myPageLoading);

//判斷是否在執行非同步傳輸

//Sys.WebForms.PageRequestManager.getInstance().get_isInAsynPostBack()

//抓使用非同步傳輸的控制項的ID

//Sys.WebForms.PageRequestManager.getInstance().postBackElement().id

//取消非同步

Sys.WebForms.PageRequestManager.getInstance().abortPostBack();

function myPageLoading(sender,args)

{

    var dataItems=args.get_dataItems();

    if($get('myLabel')!=null)

    {

          $get('myLabel').innerHTML=dataItems[''myLabel];

    }

}

</script>

 

Sys.Application的觸發事件

<acript type="text/javascript" language="javascript">

//直接這樣寫就會在網頁執行非同步postback時觸發 

function pageLoad()

{

}

//在用戶端的物件被釋放之前觸發

function pageUnload()

{

}

 </script>

welkingunther 發表在 痞客邦 PIXNET 留言(0) 人氣()