ASP .NET调用javascript中Response.Write和ClientScript.RegisterStartupScript的区别(2)

另外,Response.Write不能调用aspx里面定义的javascript函数,ClientScript.RegisterStartupScrip可以,示例如下。
.cs代码

    1             StringBuilder sb = new StringBuilder();

    2             sb.Append("<script language=javascript>");

    3             sb.Append("TestAlert();");

    4             sb.Append("</script>");

    5 

    6             //Response.Write(sb.ToString());

    7             ClientScript.RegisterStartupScript(this.GetType(), "test", sb.ToString());

.aspx代码

    1         <script type="text/javascript">

    2             function TestAlert() {

    3                 alert('just a test');

    4             }

    5         </script>

可以看到Response.Write会出错,firebug里面提示TestAlert没有定义,而ClientScript.RegisterStartupScript可以正确执行。

原文地址:https://www.cnblogs.com/fresky/p/1900248.html