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