我刚刚开始研究Web应用程序,并学习使用ASP.Net。我遇到过两种在HTML页面中添加脚本的方法。一种是使用脚本标记,另一种是使用<% ... %>
标记。但是,我无法弄清楚,两者之间有什么区别,在哪种情况下我应该选择哪一个?
答案 0 :(得分:6)
脚本标记用于指定完整脚本(通常是完整的方法/功能)(主要是客户端脚本,但您也可以使用服务器端脚本块),而<% ... %>
用于包括服务器端内联片段。
答案 1 :(得分:4)
标记可以是JavaScript或相关语言。 &lt; %%&gt;在功能上等同于
<script language="C#|vb" runat="server">
通常,您将代码放在代码后面(win窗体),因此唯一的是客户端脚本(通常是JavaScript)。使用ASP.NET MVC,&lt; %%&gt;用于标记视图,而不是真正的代码。
答案 2 :(得分:2)
<% %>
用于asp.net编码和&lt; script&gt;标记可以用于任何语言,方法是指定要使用的语言,例如<script type="text/javascript">
用于javascript
答案 3 :(得分:2)
脚本标记用于将Javascript(或类似)脚本添加到由浏览器呈现的最终HTML中,因此允许客户端脚本编写。
<% ... %>
标记是在服务器端处理的ASP标记,并且不会出现在呈现的HTML中。
答案 4 :(得分:2)
script
代码是什么意思?
<script language="C#" runat="server">
...
</script>
当您指定不希望将服务器代码放在单独的文件中时使用,例如myFile.aspx.cs
或VB myFile.aspx.vb
,这将是在页面之前运行的代码已呈现并将遵循ASP.NET Page Events周期。
标签<% %>
用于在您的网页中放置服务器代码,就像普通的旧版经典ASP一样。
通常我们使用Response.Write
作为<%= ... %>
,但如果您使用资源文件,那么您最终也会使用<%$ ResourceFile.Variable %>
将服务器代码注入页面
是一种意思答案 5 :(得分:1)
脚本标记指示将要执行客户端脚本的位置,或者是否在要组织它的函数中。 &lt;%..%&gt;是在Web服务器上执行的代码,客户端永远不会看到它。
<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
答案 6 :(得分:0)
特别是在ASP.net的情况下
当请求aspx页面时,脚本标记内的代码直接放在asp.net生成的类下面。
(每次向.aspx页面发出请求时,页面都会被解析为.cs文件,其路径可以通过使用&lt;%= GetType()来找到.Assembly.Location%&gt;。还有你必须在页面指令中设置Debug = true。)
内部代码&lt; %%&gt;被放置在生成的类文件中的方法内。 例如,您无法直接在脚本标记内编写Response.Write(),因为它需要在方法中编写。
希望这有帮助。