zoukankan      html  css  js  c++  java
  • ASP.NET服务器端向客户端注册JS代码的方法总结

    一、用Response.Write方法

    这种方法会把JS代码写在页面的最顶部(<html>的前面)

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

    提示:以上的脚本在注册后都会立即执行。

    二、用ClientScript类

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

    MyFun也可以写在.aspx页面中,从.aspx.cs文件中向客户端注册并立即执行该函数。
    ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>");

    这种方法会把JS代码嵌入在页面的底部、表单的最后 (</form>前面),RegisterStartupScript适用于要在页面控件加载完成后运行的JS代码 :

    或者

    ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", MyFun();",true);//true就是添加脚本标记<script></script>
    这个方法比Response.Write更方便一些,可以直接调用脚本文件中的自定义函数。

    提示:以上的脚本在注册后都会立即执行。

    使用RegisterClientScriptBlock,这种方法会把JS代码嵌入在页面的顶部、表单的最前 (<form>后面),适用于要在控件加载前执行的JS代码,类似于上面的Response.Write方式。

    三、普通的添加控件的Attributes属性

    对于普通按钮就是:Button1.Attributes.Add("onclick","MyFun();");
    只能在Onload中或类似于onload的初始化过程中添加才有效。而且是先执行脚本函数,无法改变执行顺序。

    注意,以上所有方法中,后台代码都不能有转化当前页的代码,比如Redirect等,要把转页代码放在脚本里面

    提示:以上的脚本按钮点击后执行。

    四、如果要在页面加载的时候执行js代码,可以在前台放一个钩子,然后用后台代码往里面写js代码。如:
    后台:
    init.InnerHtml = "<script type="text/javascript">alert('yes');</script>";
    前台:
    <div id="init" style="display:none" runat=server>在后台写js代码,做为执行js代码的钩子</div>

    注意:以上的脚本在注册后都会立即执行。

  • 相关阅读:
    Sublime 下配置vim模式 + VintageEx-master下载地址
    Potplayer快捷键
    Failed to fetch URl https://dl-ssl.google.com/android/repository/addo Android SDK更新以及ADT更新出现问题的解决办法
    最快速的Android开发环境搭建ADT-Bundle及Hello World
    Android 开发环境下载地址 -- 百度网盘 adt-bundle android-studio sdk adt 下载
    X-Mirage苹果屏幕录制工具7天试用期破解 imsoft.cnblogs
    玩转博客园的心路总结
    玩转博客园的5个小技巧
    五个对你有用的Everything搜索技巧
    PS如何批量处理图片
  • 原文地址:https://www.cnblogs.com/shirly1981/p/5732316.html
Copyright © 2011-2022 走看看