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>之前。

  • 相关阅读:
    [转]数值分析——多项式插值之Lagrange插值
    [转]上拉电阻&下拉电阻&高阻态
    [转]Verilog学习笔记基本语法篇(十三)...............Gate门
    Spring MVC中的Controller是Serlvet吗?
    preparestatement和statement的区别&&简单的SQL注入
    jquery局部变量和全局变量的错误
    js 中{},[]中括号,大括号使用详解
    Java数据库学习之SQL语句动态拼接
    jquery中关键字写错导致的错误——dataType写成dateType(data写成date)
    一次隐蔽的while死循环
  • 原文地址:https://www.cnblogs.com/niuniu1985/p/1676334.html
Copyright © 2011-2022 走看看