ASP.NET后台执行JS代码

1. 用Response.Write方法

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

2.用ClientScript类

代码如下:在想调用某个javascript脚本函数的地方添加代码,注意要保证MyFun已经在脚本文件中定义过了。
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>");
这个方法比Response.Write更方便一些,可以直接调用脚本文件中的自定义函数。

3.普通的添加控件的Attributes属性

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

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

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

上一篇:BZOJ 3289: Mato的文件管理[莫队算法 树状数组]


下一篇:screen乱码问题