【发布时间】:2011-08-13 02:25:23
【问题描述】:
我刚刚开始从事 Web 应用程序的工作,并且正在学习使用 ASP.Net。我遇到了两种在 HTML 页面中添加脚本的方法。一种是使用脚本标签,另一种是使用<% ... %> 标签。但是,我无法弄清楚,两者之间有什么区别,在哪种情况下我应该更喜欢哪一个?
【问题讨论】:
标签: asp.net html web-applications scripting
我刚刚开始从事 Web 应用程序的工作,并且正在学习使用 ASP.Net。我遇到了两种在 HTML 页面中添加脚本的方法。一种是使用脚本标签,另一种是使用<% ... %> 标签。但是,我无法弄清楚,两者之间有什么区别,在哪种情况下我应该更喜欢哪一个?
【问题讨论】:
标签: asp.net html web-applications scripting
特别是在 ASP.net 的情况下
script标签内的代码直接放在asp.net请求aspx页面时生成的类下。
(每次向 .aspx page 发出请求时,该页面都会被解析为一个 .cs 文件,其路径可以通过使用 找到。而且您还必须在页面指令中设置 Debug=true。)
内的代码放在生成的类文件中的方法内。 例如,您不能将 Response.Write() 直接写在脚本标签内,因为它需要写在方法内。
希望这会有所帮助。
【讨论】:
标签可以是 JavaScript 或相关语言。 在功能上等同于
<script language="C#|vb" runat="server">
一般来说,您将代码放在代码后面(win 表单),因此唯一用于客户端脚本(通常是 JavaScript)。对于 ASP.NET MVC, 用于标记视图,而不是真正的代码。
【讨论】:
<script> 标签周围放置代码东西,它不会让我编辑;)
script 标签是什么意思?
<script language="C#" runat="server">
...
</script>
当您指定不希望将服务器代码放在单独的文件中时使用,例如 myFile.aspx.cs 或在 VB 中的 myFile.aspx.vb,这将是在页面呈现之前运行的代码,并将遵守ASP.NET Page Events 循环。
标签<% %> 用于在您的页面中放置服务器代码,就像普通的旧经典 ASP。
通常我们使用 Response.Write 和 <%= ... %>,但如果你使用资源文件,你最终也会使用 <%$ ResourceFile.Variable %>
这是一种将服务器代码注入到页面中的手段
【讨论】:
脚本标签指示客户端脚本将在何处执行,或者是否在将组织它的函数中。 是在网络服务器上执行的代码,客户端永远不会看到。
<script>
window.alert("hi") // This will popup a hi message
</script>
<% responce.wrtie("hi") %>
当您加载此页面时,您会看到一个弹出窗口 和文本 hi 但是在页面源中你会看到
<script>
window.alert("hi") // This will popup a hi message
</script>
hi
【讨论】:
<% %> 用于 asp.net 编码,
【讨论】:
脚本标签用于将 Javascript(或类似)脚本添加到浏览器呈现的最终 HTML,从而允许客户端脚本。
<% ... %> 标签是在服务器端处理的 ASP 标签,不会出现在呈现的 HTML 中。
【讨论】:
脚本标签用于指定完整的脚本(通常是完整的方法/功能)(主要是客户端脚本,但您也可以拥有服务器端脚本块),而<% ... %> 用于包含服务器端内联sn-ps。
【讨论】: