脚本标签和“<%....%>”标签有啥区别?

Posted

技术标签:

【中文标题】脚本标签和“<%....%>”标签有啥区别?【英文标题】:What is the difference between script tag, and "<%....%>" tag?脚本标签和“<%....%>”标签有什么区别? 【发布时间】:2011-08-13 02:25:23 【问题描述】:

我刚刚开始从事 Web 应用程序的工作,并且正在学习使用 ASP.Net。我遇到了两种在 html 页面中添加脚本的方法。一种是使用脚本标签,另一种是使用&lt;% ... %&gt; 标签。但是,我无法弄清楚,两者之间有什么区别,在哪种情况下我应该更喜欢哪一个?

【问题讨论】:

【参考方案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, 用于标记视图,而不是真正的代码。

【讨论】:

您似乎忘记在&lt;script&gt; 标签周围放置代码东西,它不会让我编辑;)【参考方案3】:

script 标签是什么意思?

<script language="C#" runat="server">
...
</script>

当您指定不希望将服务器代码放在单独的文件中时使用,例如 myFile.aspx.cs 或在 VB 中的 myFile.aspx.vb,这将是在页面呈现之前运行的代码,并将遵守ASP.NET Page Events 循环。

标签&lt;% %&gt; 用于在您的页面中放置服务器代码,就像普通的旧经典 ASP。

通常我们使用 Response.Write&lt;%= ... %&gt;,但如果你使用资源文件,你最终也会使用 &lt;%$ ResourceFile.Variable %&gt;

这是一种将服务器代码注入到页面中的手段

【讨论】:

【参考方案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】:

&lt;% %&gt; 用于 asp.net 编码,

【讨论】:

【参考方案6】:

脚本标签用于将 Javascript(或类似)脚本添加到浏览器呈现的最终 HTML,从而允许客户端脚本。

&lt;% ... %&gt; 标签是在服务器端处理的 ASP 标签,不会出现在呈现的 HTML 中。

【讨论】:

【参考方案7】:

脚本标签用于指定完整的脚本(通常是完整的方法/功能)(主要是客户端脚本,但您也可以拥有服务器端脚本块),而&lt;% ... %&gt; 用于包含服务器端内联sn-ps。

【讨论】:

感谢您的帮助。我正是需要这个响应,基本上什么时候使用哪个标签。

以上是关于脚本标签和“<%....%>”标签有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

将javascript放入文件和脚本标签有啥区别?

html5有啥快捷键实现注释

html5中<head>标签和<header>标签有啥区别

在HTML语言中object标签有啥作用??

为啥 外链javascript脚本,不能含有script标签

在标签和输入上使用 id 标签有啥区别? [复制]