2011-04-26 94 views
7

我刚开始从事Web应用程序的开发,并学习使用ASP.Net。我遇到了两种在HTML页面中添加脚本的方法。一种是使用脚本标签,另一种是使用<% ... %>标签。但是,我无法弄清楚,两者之间的区别是什么,在哪种情况下我应该选择哪一个?脚本标签和“<%....%>”标签有什么区别?

回答

6

script标签用于指定完整的脚本(通常的语言使用任何语言完整的方法/功能)(主要是客户端脚本,但您也可以拥有服务器端脚本块),而<% ... %>用于包含服务器端内嵌片段。

+0

的“代码东西”感谢您的帮助。我完全需要这种回应,基本上何时使用哪个标签。 – jitendragarg 2011-04-26 14:41:40

4

标记可以是JavaScript或有问题的语言。该<%%>的功能等同于

<script language="C#|vb" runat="server"> 

一般情况下,你把代码后面的代码(赢形式),所以仅适用于客户端脚本(一般的JavaScript)。使用ASP.NET MVC,<%>是用于标记视图,而不是真正的代码。

+0

您似乎忘记了在'

1

脚本标记指示将执行客户端脚本的位置,或者在要组织的函数中。 <%..%>是在网络服务器上执行的代码,客户端从未看到该代码。

<script> 
    window.alert("hi") // This will popup a hi message 
</script> 
<% responce.wrtie("hi") %> 

当加载这个页面,你会看到一个弹出 ,并在页面的源代码,不过文喜,你会看到

<script> 
    window.alert("hi") // This will popup a hi message 
</script> 
hi 
+0

因此,我们将使用“<%”标记作为服务器端脚本,而脚本标记用于客户端脚本,对!但是,它可以改变。像使用脚本标签来写服务器端脚本?编辑:仔细检查其他答案。原来我也可以使用脚本标记作为服务器端脚本。所以,唯一的区别是,“<%”标签可以用于内联脚本,并且在呈现的html中不可见。我错过了其他的东西吗? – jitendragarg 2011-04-26 14:44:20

2

什么您script标签意思?

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

时,您可以指定不希望将服务器放置代码在单独的文件中,这是使用,如myFile.aspx.cs或VB myFile.aspx.vb,这将是页面之前运行的代码被渲染和意志按照ASP.NET Page Events周期行事。

标签<% %>用于将服务器代码放置在您的页面中,就像普通的老式经典ASP一样。

通常我们使用尽可能使用<%= ... %>Response.Write但如果你使用的资源文件,你会最终使用<%$ ResourceFile.Variable %>以及

这是一个平均到注射服务器代码到页面

0

特别是在的情况下, ASP。net

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

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

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

希望这会有所帮助。

相关问题