我用经典的ASP和ASP编写过程序。我在服务器端代码的标记中看到了不同的标记。

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

<%=(百分比加上等号)和 <%#(百分号和散列/磅/八分thorpe)

(<%#只在数据ind处评估,<%=在渲染处评估),但我也看到:

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

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

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


您已经讨论了其中的两个(<%#只在数据绑定处计算,<%=在呈现时计算),而“<%@”的答案是它是编译器指令(即。,就像你在编译器的命令行上写的一样)。

我不知道"<%$"。


<% %> - is for inline code (especially logic flow) <%$ %> - is for evaluating expressions (like resource variables) <%@ %> - is for Page directives, registering assemblies, importing namespaces, etc. <%= %> - is short-hand for Response.Write (discussed here) <%# %> - is used for data binding expressions. <%: %> - is short-hand for Response.Write(Server.HTMLEncode()) ASP.net 4.0+ <%#: %> - is used for data binding expressions and is automatically HTMLEncoded. <%-- --%> - is for server-side comments