2012-10-12 135 views
0

我看到RegisterStartupScriptRegisterClientScriptBlockhere之间的区别。
描述了Sever方面使用它们的注入JavaScript代码。
现在我也从ASP.NET服务器控件注入客户端脚本,但我的客户端脚本只是指向一个外部JavaScript文件。哪个更快RegisterStartupScript或RegisterClientScriptBlock?

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

我使用RegisterClientScriptBlock,但我想知道我应该用RegisterStartupScript要快。 哪个更快RegisterStartupScriptRegisterClientScriptBlock在我的情况?
谢谢。

+1

您是否遇到过任何一个问题的速度问题?如果没有,为什么你会担心速度? – sisve

回答

4

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

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

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