1

RegisterStartupScript我看到了这里和RegisterClientScriptBlock这里的区别。
描述了使用它们两者的服务器端的注入 javascript 代码。
现在我还从 ASP.NET 服务器控件注入客户端脚本,但我的客户端脚本只是指向外部 JavaScript 文件。

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

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

4

1 回答 1

5

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

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

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

于 2012-10-12T09:49:10.807 回答