<%$,<%@,<%=,<%#…这是怎么回事?

我已经在传统的ASP和ASP.NET中进行了编程,并且在服务器端代码的标记中看到了不同的标记。

我最近在MSDN上遇到了一个很好的博客,它介绍了以下两者之间的区别:

  • <%= (连同等号的百分比)和
  • <%# (百分号和哈希/磅/八脚)

<%#仅在数据绑定时计算, <%=在渲染时计算),但是我也看到:

  • <%$ (百分比和美元符号)和
  • <%@ (百分号和符号)。

我相信<%@加载类似程序集的东西,也许<%$从configuration文件中加载东西? 我不太确定。

我只是想知道是否有人可以为我澄清这一切,并可能解释为什么创build如此多的不同的标签看起来有类似的目的是重要的?

  • <% %> – 用于内联代码 (特别是逻辑stream程)
  • <%$ %> – 用于评估expression式 (如资源variables)
  • <%@ %> – 用于页面指​​令 ,注册程序集,导入名称空间等
  • <%= %> – 是Response.Write简写(在这里讨论)
  • <%# %> – 用于数据绑定expression式 。
  • <%: %> – 是Response.Write(Server.HTMLEncode())的简写ASP.net 4.0+
  • <%#: %> – 用于数据绑定expression式 ,并自动HTMLEncoded。
  • <%-- --%> – 用于服务器端注释

你已经覆盖了其中的2个(<%#仅在数据绑定时被评估,<%=在渲染时被评估),“ <%@ ”的答案是它是编译器指令(也就是说, d放在编译器的命令行上)。

我不知道“ <%$ ”。

Interesting Posts