zoukankan      html  css  js  c++  java
  • 注册JavaScript?

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

    this.PreRender += new EventHandler(PageJs_PreRender);

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

    注册JS的一个例子:

    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 onload="f()"里面的函数;这两个方法在客户端呈现的代码位置不同,RegisterClientScriptBlock在<form runat=server>之后,而RegisterStartupScript在</form>之前。

  • 相关阅读:
    hadoop之hdfs架构详解
    hadoop之hdfs命令详解
    hadoop高可用安装和原理详解
    mysql事务
    mysql之innodb-锁
    [转]网络基本功02-细说交换机
    python随用随学20200221-生成器中的send(),throw()和close()方法
    python随用随学20200118-函数的高级特性
    [转载]网络基本功01-细说网络传输
    selenium+chrome抓取淘宝宝贝-崔庆才思路
  • 原文地址:https://www.cnblogs.com/niuniu1985/p/1676334.html
Copyright © 2011-2022 走看看