ASP .NET调用javascript中Response.Write和ClientScript.RegisterStartupScript的区别
Contents
最近在用ASP .NET的code behind 调用javascript中发现Response.Write不能拿到form的值,而ClientScript.RegisterStartupScript可以。例如下面的代码
1 | StringBuilder sb = new StringBuilder(); |
可以明显的看到,Response.Write得到的是0,ClientScript.RegisterStartupScript得到的是1。
另外,Response.Write不能调用aspx里面定义的javascript函数,ClientScript.RegisterStartupScrip可以,示例如下。
.cs代码
1 | StringBuilder sb = new StringBuilder(); |
.aspx代码
1 | <script type="text/javascript"> |
可以看到Response.Write会出错,firebug里面提示TestAlert没有定义,而ClientScript.RegisterStartupScript可以正确执行。