asp.net后台注册js的四种方法
1. 用Response.Write方法 代码如下: Response.Write("<script type='text/javascript'>alert("keleyi.com");</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方法 num 是方法注册名, 每调用一次, 注册名不能一样
int num = 0;
foreach (RoadStation rr in r)
{
num++;
ScriptManager.RegisterStartupScript(this,this.GetType(), num.ToString(), string.Format("addTr('{0}','{1}');", rr.F_stationName, rr.F_time), true);
}