是什么<%# ... %>
,<%= ... %>
和<%$ ... %>
之间的区别?
我找不到任何有关此信息。使用搜索引擎找到“<%=”是不可能的。
这些标签有一个名字吗?
是什么<%# ... %>
,<%= ... %>
和<%$ ... %>
之间的区别?
我找不到任何有关此信息。使用搜索引擎找到“<%=”是不可能的。
这些标签有一个名字吗?
<%= ... %>
通常等同于Response.Write(...) 它不能用于runat =“server”的控制属性中
<%: ... %>
(自.NET v4起。0)是<%= %>
一个HTML编码的版本(如@Eric提及)
<%# ... %>
用于在绑定,评估和演示或输出(如@Ray提及)
<%$ ... %>
数据绑定上下文中的上下文中使用一个控制属性与runat =“服务器”(谷歌“表达式生成器”也有一个在通用的目的'Code' expression builder。它是评估当属性/参数是由控制要求
<%#%>将尝试使用Bind()函数将数据绑定到数据源。这使它成为一种双向功能(读取和写入)。
<%=%>将使数据为只读。
另外<%= %>可以打印任何中间的块,其中<% %>只是执行那些语句 – Jimmy 2010-04-13 21:29:43
而现在我们也有<%: %>用于html编码输出。 – 2010-04-13 21:30:54
<%#%>可以仅用于数据绑定上下文中的。
<%=%>预计将包含在输出流中的字符串值。所以无论是一个字符串变量或一个返回字符串的方法。其他任何事情都会导致错误。
<%#%>在数据绑定期间被评估。它不一定需要Eval()或Bind(),Matthew建议 - 我经常使用它来在中继器控件中显示纯文本。
<%=%>被评估为页面呈现。这相当于调用Response.Write()。
+1我正要问另一个关于“什么时候”每个评估的答案。 – AaronLS 2010-04-13 21:37:19
我发现明确的术语为你的未来的谷歌搜索一些有用的信息:
http://authors.aspalliance.com/aspxtreme/aspnet/syntax/aspnetpagesyntax.aspx
代码呈现块:
<% inline code %>
的快捷方式HttpResponse.Write:
<%=inline expression %>
数据绑定表达式:
<%# databinding expression %>
在一个属性:
<tagprefix:tagname property = "<%# databinding expression %>" runat="server" />
服务器端注释,使得它们不会出现在客户端的页面的源代码:
<%-- commented out code or content --%>
就术语而言,我认为他们被称为内联表达式 – AaronLS 2010-04-13 21:34:12