c# - Response.Write() 和 ClientScript.RegisterStartupScript() 的区别?

标签 c# asp.net

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

最佳答案

Response.Write方法可用于在页面的渲染阶段输出代码。 <%= %>服务器标签是 <%Response.Write( )%> 的快捷方式.

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

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

此外,您还为每个脚本指定了一个标识,这意味着重复项已被删除。如果一个用户控件注册了一个脚本,并且您使用了多个用户控件实例,则该脚本只会在页面中呈现一次。

关于c# - Response.Write() 和 ClientScript.RegisterStartupScript() 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1926449/

相关文章:

c# - 基于 SQL 的存储与 SVN

c# - ASP.NET 异步标签更新

c# - 在 asp.net razor 中使用 ffmpeg (C#)

c# - 监视 ASP.Net 窗体上数据更改的最有效方法是什么?

c# - 新 ServiceFabricApplication : Application type and version not found

c# - IQueryable Include 未给出正确的结果

c# - 使用 Linq 查找重复项但获取整个记录

c# - vs 2015 的代码合约现在稳定吗?

javascript - Bootstrap 3/ASP.NET - 行正在合并

html - 带有母版页的 CSS 和带有自己的 css 的新内容页如何不应该覆盖母版页页眉和页脚?