什么时候应该在ASP.NET控件中使用#和=?
时间:2020-03-06 14:32:32 来源:igfitidea点击:
我已经使用ASP.NET多年了,但是我不记得何时使用and =是合适的。
例如:
<%= Grid.ClientID %>
或者
<%# Eval("FullName")%>
有人可以解释何时应使用每种药物,这样我就可以牢记在心了吗?仅用于支持数据绑定的控件中吗?
解决方案
<%=%>等效于在任何位置进行Response.Write("")的情况。
<%%>用于数据绑定,并且仅在支持数据绑定的情况下使用(如果在代码背后调用Page.DataBind(),则可以在控件外部的页面级上使用它们)
数据绑定表达式概述
这是Dan Crevier撰写的一篇很棒的博客文章,其中介绍了他编写的测试应用程序以显示差异。
在本质上:
- <%=表达式在渲染时求值
- <%#表达式在DataBind()时计算,如果不调用DataBind(),则根本不计算。
- <%#表达式可用作服务器端控件中的属性。 <%=表达式不能。
有几种不同的"蜂刺":
<%@
-页面指令<%$
-资源访问<%=
-显式输出到页面<%#
-数据绑定<%-
-服务器端注释块
在ASP.Net 4中也是新功能:
<%:
-写出到页面,但是使用HTML编码