<%$,<%@,<%=,<%#…这是怎么回事?
我已经在传统的ASP和ASP.NET中进行了编程,并且在服务器端代码的标记中看到了不同的标记。
我最近在MSDN上遇到了一个很好的博客,它介绍了以下两者之间的区别:
-
<%=
(连同等号的百分比)和 -
<%#
(百分号和哈希/磅/八脚)
( <%#
仅在数据绑定时计算, <%=
在渲染时计算),但是我也看到:
-
<%$
(百分比和美元符号)和 -
<%@
(百分号和符号)。
我相信<%@
加载类似程序集的东西,也许<%$
从configuration文件中加载东西? 我不太确定。
我只是想知道是否有人可以为我澄清这一切,并可能解释为什么创build如此多的不同的标签看起来有类似的目的是重要的?
-
<% %>
– 用于内联代码 (特别是逻辑stream程) -
<%$ %>
– 用于评估expression式 (如资源variables) -
<%@ %>
– 用于页面指令 ,注册程序集,导入名称空间等 -
<%= %>
– 是Response.Write
简写(在这里讨论) -
<%# %>
– 用于数据绑定expression式 。 -
<%: %>
– 是Response.Write(Server.HTMLEncode())的简写ASP.net 4.0+ -
<%#: %>
– 用于数据绑定expression式 ,并自动HTMLEncoded。 -
<%-- --%>
– 用于服务器端注释
你已经覆盖了其中的2个(<%#仅在数据绑定时被评估,<%=在渲染时被评估),“ <%@
”的答案是它是编译器指令(也就是说, d放在编译器的命令行上)。
我不知道“ <%$
”。