注册JavaScript?

在项目中看到这样一句代码:

this .PreRender  +=   new  EventHandler(PageJs_PreRender);

 PreRender是个事件,这句话是给PreRender事件添加一个处理方法。

注册JS的一个例子:

ExpandedBlockStart.gif RegisterClientScriptBlock
        ///   <summary>
        ///  页面呈现之前从服务器注册Javascript到前台HTML
        
///  使前台显示当前LetterTemplate的LetterTemplateParamerter
        
///   </summary>
        
///   <param name="sender"></param>
        
///   <param name="e"></param>
        
protected   void  PageJs_PreRender( object  sender, System.EventArgs e)
        {
            System.Text.StringBuilder sb 
=   new  System.Text.StringBuilder();
            sb.Append(
" <script language=\ " javascript\ " >\r\n " );
            
if  (Session[GlobalPara.SEESION_SHOW_ALERT_MESSAGE]  !=   null )
            {
               sb.Append(
" alert(' "   +  StringUtil.JsScriptReplaceIllegalString((String)Session[GlobalPara.SEESION_SHOW_ALERT_MESSAGE])  +   " '); \r\n " );
               Session.Remove(GlobalPara.SEESION_SHOW_ALERT_MESSAGE);
            }
            sb.Append(
" </script>\r\n " );
            
string  js  =  sb.ToString();
            
if  ( ! IsClientScriptBlockRegistered( " PageJs_PreRender " )) // 注册JS
            {
                RegisterClientScriptBlock(
" PageJs_PreRender " , js);
            }
        }

 为什么要注册JavaScript?注册JavaScript是什么意思?

网上关于RegisterClientScriptBlock作用的说法并不一致,有的说是从前台向后台注册JavaScript脚本,有的说是从后台向前台注册JavaScript脚本。

对注册JavaScript这一说法的理解很模糊。

 

补充:

         public   static   void  ShowErrorMsg(Page page,  string  ErrMsg)
        {
            
string  scrpt  =   " <script language='javascript' > "
               
+   " alert(' "   +  ErrMsg  +   " ');</script> " ;

            page.ClientScript.RegisterStartupScript(page.GetType(), 
" clientscript " , scrpt);
        }

 

RegisterClientScriptBlock一般返回的是客户端函数的包装,而RegisterStartupScript返回得函数在document装载完成后会执行,类似于我们平时所说的body οnlοad="f()"里面的函数;这两个方法在客户端呈现的代码位置不同,RegisterClientScriptBlock在<form runat=server>之后,而RegisterStartupScript在</form>之前。

转载于:https://www.cnblogs.com/niuniu1985/archive/2010/03/02/1676334.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值