zoukankan      html  css  js  c++  java
  • Asp.net 后台调用js方法

     Response.Write("<script type='text/javascript'>alert("我要出来咯2");</script>");  

    HtmlGenericCOntrol是一个通用标签生成的类,可以用来生成js也可以用来生成任何其它的标签

     HtmlGenericControl script = new HtmlGenericControl("script");
    
                script.Attributes.Add("type", "text/javascript"); //IAttributeAccessor
    
     
    
                script.InnerHtml = "alert('我是用HtmlGenericControl生成的 script')";
    
     
    
                this.Header.Controls.Add(script);//把script 标签添加到head 标签里。

     

    自己封装的弹窗的类

    public static class PageEx
        {
           
            /// <summary>
            /// 
            /// </summary>
            /// <param name="page">页面</param>
            /// <param name="statement">脚本</param>
            /// <param name="type">类型:code js脚本代码,file js文件</param>
            /// <param name="location">放在form里的位置</param>
            public static void MessageBox(this Page  page,string statement,
                string type ="code",string location="bottom")
            {
                if (type=="code")
                {
                    page.ClientScript.RegisterStartupScript(page.GetType(),
                        Guid.NewGuid().ToString(), 
                        statement,true);    
                }
                else if (type == "file") 
                {
                    page.ClientScript.RegisterClientScriptInclude(
                        Guid.NewGuid().ToString(),
                        statement); 
                }
            }
        }
    View Code

    调用

     PageEx.MessageBox(this,"alert('mymsg')",location:"top");
    PageEx.MessageBox(this, "demo.js","file");  
    this.MessageBox("alert('mymsg')");

    ClientScript 可以方便地管理 JavaScript,

    应该说 ClientScript.RegisterClientScriptBlock 与 ClientScript.RegisterStartupScript 只有一点区别,

    那就是 RegisterClientScriptBlock 将脚本代码写在 <form> 之后,

    而 RegisterStartupScript 将代码写在 </form>(注意是结束标签)之前。

    public void RegisterClientScriptBlock(Type type, string key, string script)public void RegisterClientScriptBlock(Type type, string key, string script, bool addScriptTags)

    public void RegisterStartupScript(Type type, string key, string script)public void RegisterStartupScript(Type type, string key, string script, bool addScriptTags)

    可以看出二者语法相同。

    type 要注册的启动脚本的类型。

    key 要注册的启动脚本的键,也就是你自己给这段脚本起的名字。相同 key 的脚本被当作是重复的,对于这样的脚本只输出最先注册的,ClientScriptBlock 和 StartupScript 中的 key 相同不算是重复的。

    script 脚本代码。

    addScriptTags 是否添加 <script> 标签,如果脚本代码中不含 <script> 标签,则应该指定该值为 true,若不指定该值,会被当作 false 对待。

    clientscript

    //此段代码会放置到form的前面

    string alterstr= "alert('我要出来咯 clientscript')";

      this.ClientScript.RegisterClientScriptBlock(this.GetType()   , Guid.NewGuid().ToString(),alterstr, true);

    //此段代码会放置到form的后面

    this.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), "alter('我要出来咯 startscript')", true);

  • 相关阅读:
    MySQL的char和varchar针对空格的处理
    单KEY业务,数据库水平切分架构实践
    接口测试学习笔记1-接口测试的用例设计
    Robot Framework源码解析(2)
    Robot Framework 源码解析(1)
    Python学习笔记1 -- TypeError: 'str' object is not callable
    OKHttp源码学习同步请求和异步请求(二)
    OKHttp源码学习--HttpURLConnection HttpClient OKHttp Get and post Demo用法对比
    Javapoet源码解析
    Universal-Image-Loader源码解解析---display过程 + 获取bitmap过程
  • 原文地址:https://www.cnblogs.com/youchim/p/6035670.html
Copyright © 2011-2022 走看看