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

7

我刚开始学习使用ASP.Net来开发Web应用程序。在编写HTML页面时,我发现有两种方法可以添加脚本。一种是使用script标签,另一种是使用<% ... %>标签。但是我不知道这两种方法的区别,以及在什么情况下应该选择哪种方法。

7个回答

6

谢谢您的帮助。我正需要这样的回复,基本上是关于何时使用哪个标签的问题。 - jitendragarg

4

标签可以是JavaScript或相关语言。<% %>与

在功能上等效。
<script language="C#|vb" runat="server">

通常情况下,您将代码放在代码后面(Win Forms),因此唯一的 <script> 标签是用于客户端脚本(通常为JavaScript)。使用ASP.NET MVC,<% %> 用于标记视图,而不是真正的代码。


你似乎忘记在<script>标签周围放置代码,这样我就无法编辑了 ;) - Joris Ooms

2
你指的 script 标签是什么意思?
<script language="C#" runat="server">
...
</script>

这是用于指定不想将服务器代码放在单独的文件中(例如myFile.aspx.cs或VB中的myFile.aspx.vb)时使用的。这将是在页面呈现之前要运行的代码,并将遵守ASP.NET页面事件周期。
标记<% %>用于像旧版Classic ASP一样在页面中放置服务器代码。
通常我们使用Response.Write,使用<%= ... %>,但如果您使用资源文件,则还会使用<%$ ResourceFile.Variable %>
这是一种将服务器代码注入页面的方法。

2

<% %> 是用于 asp.net 编程的,而 <script> 标签可以使用任何语言,只需要指定你想要使用的语言,例如这样 <script type="text/javascript"> 用于 JavaScript。


2

1

脚本标签指示客户端脚本将在何处执行,或者如果在函数中,则应如何组织。<% .. %>是在Web服务器上执行的代码,客户端永远不会看到。

<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

那么,我们将使用“<%”标签进行服务器端脚本编写,使用“script”标签进行客户端脚本编写,对吧!但是,是否可以更改呢?比如使用“script”标签编写服务器端脚本?编辑:仔细查看其他答案后,我发现我也可以使用“script”标签编写服务器端脚本。因此,唯一的区别就是,“<%”标签可用于内联脚本,并且不会在呈现的HTML中显示。我错过了其他什么吗? - jitendragarg

0

特别是在ASP.net方面

脚本标签中的代码直接放置在由asp.net生成的类下面,当请求aspx页面时会直接放置。

每次请求.aspx页面时,页面都会被解析为一个.cs文件,可以通过使用<%=GetType().Assembly.Location%>找到其路径。同样,您必须在页面指令中设置Debug = true。

<% %> 中的代码将放置在生成的类文件的方法中。例如,您不能直接在脚本标记中写入Response.Write(),因为它需要写入方法中。

希望这有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接