ScriptManager.RegisterStartupScript与ClientScript.RegisterStartupScript区别

ScriptManager.RegisterStartupScript与ClientScript.RegisterStartupScript区别,他俩的方法基本一样,只是在特殊的场合要注意使用。

1.ScriptManager.RegisterStartupScript(updatepanel1, this.Page.GetType(), "alert", "alert()", true);  如果有UpdatePanel使用这个方法。

2.this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "alert", "<script>alert('hello word');</script>", true); 反之没有UpdatePanel就用这个。

ScriptManager是涉及到ajax,在ajax updatepanel中使用ClientScript是无效的。

 

另外:

启动脚本由它的键和类型唯一标识。具有相同的键和类型的脚本被视为重复脚本。只有使用给定的类型和键对的脚本才能使用该页面进行注册。如果注册一个已经注册的脚本不会创建重复的脚本。

调用 IsStartupScriptRegistered方法来确定给定的键和类型对的启动脚本是否已经注册,从而避免不必要的添加脚本。

在 RegisterStartupScript 方法的此重载中,使用 addScriptTags 参数可指示 script 参数中提供的脚本是否包装在 <script> 元素块中。将 addScriptTags 设置为 true 指示脚本标记将自动添加。

RegisterStartupScript 方法添加的脚本块在页面加载完成但在页面的 OnLoad 事件引发之前执行。

 

总结:

ScriptManager.RegisterStartupScript 适用于无刷新后台调用JS

ClientScript.RegisterStartupScript 普通的后台调用前段的JS更适用

posted @ 2012-11-27 15:03  Gavin_gzm  阅读(626)  评论(0编辑  收藏  举报