zoukankan      html  css  js  c++  java
  • C#后台调用前台javascript的五种方法

    由于项目需要,用到其他项目组用VC开发的组件,在web后台代码无法访问这个组件,所以只好通过后台调用前台的javascript,从而操作这个组件。在网上找了找,发现有三种方法可以访问到前台代码: 

    第一种,OnClientClick    (vs2003不支持这个方法)
    <asp:Button ID="Button1" runat="server" Text="Button"  OnClientClick="client_click()" OnClick="Button1_Click"  />
    client_click() 就是javascript的一个方法。 

    第二种,Button1.Attributes.Add("onclick""return Client_Click()");  
    “Client_Click() “是一个前台方法,可以替换成一般的脚本如:retrun confirm('确定删除吗?'

    第三种,是我自认为最灵活的一种,ClientScript.RegisterStartupScript
    例子:StringBuilder sb = new StringBuilder();
            sb.Append("<script language='javascript'>");
            sb.Append("Button2_onclick('" + serverPath + "')");
            sb.Append("</script>");
            ClientScript.RegisterStartupScript(this.GetType(), "LoadPicScript", sb.ToString());



    第四种. 用Response.Write方法写入脚本

    比如在你单击按钮后,先操作数据库,完了后显示已经完成,可以在最后想调用的地方写上
    Response.Write("<script type='text/javascript'>alert();</script>");

    这个方法有个缺陷就是不能调用脚本文件中的自定义的函数,只能调用内部函数,具体调用自定义的函数只能在Response.Write写上函数定义,比如Response.Write("<script type='text/javascript'>function myfun(){...}</script>");

    第五种 用ClientScript类动态添加脚本

        用法如下:在想调用某个javascript脚本函数的地方添加代码,注意要保证MyFun已经在脚本文件中定义过了。

        ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript""<script>MyFun();</script>");

    这个方法比Response.Write更方便一些,可以直接调用脚本文件中的自定义函数。
  • 相关阅读:
    78. Subsets
    93. Restore IP Addresses
    71. Simplify Path
    82. Remove Duplicates from Sorted List II
    95. Unique Binary Search Trees II
    96. Unique Binary Search Trees
    312. Burst Balloons
    程序员社交平台
    APP Store开发指南
    iOS框架搭建(MVC,自定义TabBar)--微博搭建为例
  • 原文地址:https://www.cnblogs.com/51net/p/2479780.html
Copyright © 2011-2022 走看看