[ASP.NET AJAX]How to register javascript functions after UpdatePanel updated

As an ASP.NET fellow, UpdatePanel just like one artifacts. It can make all the contents in one UpdatePanel get an partial-refresh(AJAX) feature.
Usually, we need to call a javascript function after we update the content in the UpdatePanel. Without UpdatePanel, we could add onclick attribute to one button or use Page.ClientScript to register the script in code-behind. But in the UpdatePanel, Page.ClientScript will lose efficacy.
In this document, I want to discuss some methods to register javascript functions after the UpdatePanel updated.
ASP.NET Extension provide us some useful and direct ways to call a javascript function both in client-side and server-side.
Client-side:
Method A:
Look at this code snippet:

01 <form id= "form1" runat= "server" >
02 <asp:ScriptManager ID= "ScriptManager1" runat= "server" >
03 </asp:ScriptManager>
04
05 <script type= "text/javascript" >
06 function pageLoad( sender , e) {
07 alert( "Page is re-loaded!");
08 }
09 </script>
10
11 <asp:UpdatePanel ID= "UpdatePanel1" runat= "server" >
12 <ContentTemplate>
13 < %=DateTime.Now.ToString() %>
14 </ContentTemplate>
15 <Triggers>
16 <asp:AsyncPostBackTrigger ControlID= "TriggerTimer" EventName= "Tick" />
17 </Triggers>
18 </asp:UpdatePanel>
19
20 <asp:Timer ID= "TriggerTimer" runat= "server" Interval= "5000" >
21 </asp:Timer>
22 </form>



In this snippet, we could see we register the pageLoad function directly in the page. the function pageLoad will be executed when the page first load and each asynchronous postback which caused by UpdatePanel.

Method B:

The code above in pageLoad is same as the code below.

 

1 <script type= "text/javascript" >
2 window . onload = function () {
3 Sys . Application . add_load( function () {
4 alert( "Page re-loaded!");
5 });
6 }
7 </script>

 

Server Side:

For server side, we need to use a method, ScriptManager.RegisterClientScriptBlock, for more details about this method, please view this link in MSDN:http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.registerclientscriptblock.aspx. This method registers a client script block with the ScriptManager control for use with a control that is inside an UpdatePanel control, and then adds the script block to the page.

For example,

 

1 protected void TriggerTimer_Tick( object sender , EventArgs e)
2 {
3 ScriptManager . RegisterClientScriptBlock( this , this . GetType (), "RegScript" ,
4 "alert('Page re-loaded!');" , true);
5 }

The result is same as the methods which talked above.

转载于:https://www.cnblogs.com/JerryWeng/archive/2010/10/18/1854342.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值