哪个更快的RegisterStartupScript或RegisterClientScriptBlock?

时间:2012-10-12 09:39:23

标签: c# javascript asp.net

我从here看到RegisterStartupScriptRegisterClientScriptBlock之间存在差异 使用它们来描述Sever侧的注入javascript代码 现在我也从ASP.NET服务器控件注入客户端脚本,但我的客户端脚本只是指向外部JavaScript文件。

string jsString="<script src="myscripts.js"></script>"
ClientScript.RegisterClientScriptBlock(this.GetType(), "JSScriptBlock",jsString);

我正在使用RegisterClientScriptBlock,但我想知道我应该使用RegisterStartupScript来加快速度。 在我的情况下哪个更快RegisterStartupScriptRegisterClientScriptBlock
谢谢。

1 个答案:

答案 0 :(得分:5)

The RegisterClientScriptBlock方法立即插入客户端脚本below the opening tag of the Page object's element。代码无法访问任何表单元素,因为那时元素尚未实例化。

RegisterStartupScript方法只插入指定的客户端脚本before the closing tag of the Page object's element。代码可以访问任何表单元素,因为那时元素已经被实例化。

选择使用哪种方法实际上取决于您在渲染页面时希望浏览器运行脚本的“顺序”。