Diff RegisterClientScriptBlock& RegisterStartupScript& responce.write( “脚本”)

时间:2009-06-15 13:50:41

标签: c# asp.net javascript

我需要个人解释和个人优势RegisterClientScriptBlock& RegisterStartupScript& responce.write("script");

我得到了一些像

这样的信息

RegisterClientScriptBlock()方法将在表单打开标记之后但在页面控件之前注入脚本

RegisterStartupScript()方法将在页面控件之后但在表单关闭标记之前注入脚本。

我们也可以简单地将responce.write("script")写成包括脚本。

但我需要个别解释

如果有关于此主题的任何链接,请回复我。

1 个答案:

答案 0 :(得分:3)

如果使用RegisterClientScriptBlock()并且需要引用可能被注入的其他javascript方法或html对象,则运行脚本运行时不会创建它们的风险。正如您所说,使用RegisterStartupScript()将脚本放在页面底部,保证在脚本运行之前渲染和创建所有对象。

如果您要使用以下函数添加脚本:

<script type="text/javascript>
    function myFunc(){
    ...
}
</script>

然后无关紧要,因为需要通过其他方式显式调用该函数。

但是,如果您尝试在文档加载后运行脚本,请执行以下操作:

<script type="text/javascript>
    doStuff();
</script>

然后你应该使用RegisterStartupScript(),这样你就可以保证你调用的任何对象或你调用的函数都存在。