Response.Write()和ClientScript.RegisterStartupScript()之间的区别?

Sur*_*har 2 c# asp.net

Response.Write()和ClientScript.RegisterStartupScript()有什么区别谢谢.

Guf*_*ffa 5

Response.Write方法可用于在页面的呈现阶段输出代码.该<%= %>服务器标记是一条捷径<%Response.Write( )%>.

如果您使用Response.Write后面的代码,您将在开始渲染之前写入页面,因此代码将最终在html文档之外.虽然浏览器将执行代码,但它无法正常工作.在doctype标记之前有一些东西会使浏览器忽略doctype并以怪癖模式呈现页面,这通常会破坏布局.此外,由于脚本在页面的任何内容存在之前运行,因此代码无法访问页面中的任何元素.

ClientScript.RegisterStartupScript方法是向页面动态添加脚本的首选方法.它将脚本呈现在表单的末尾,以便它不会破坏html documnet,并且它可以访问表单中的元素.

此外,您为每个脚本提供一个标识,这意味着将删除重复项.如果用户控件注册了一个脚本,并且您使用了多个用户控件实例,则该脚本将仅在页面中呈现一次.