什么时候应该在ASP.NET控件中使用#和=?

时间:2020-03-06 14:32:32  来源:igfitidea点击:

我已经使用ASP.NET多年了,但是我不记得何时使用and =是合适的。

例如:

<%= Grid.ClientID %>

或者

<%# Eval("FullName")%>

有人可以解释何时应使用每种药物,这样我就可以牢记在心了吗?仅用于支持数据绑定的控件中吗?

解决方案

<%=%>等效于在任何位置进行Response.Write("")的情况。

<%%>用于数据绑定,并且仅在支持数据绑定的情况下使用(如果在代码背后调用Page.DataBind(),则可以在控件外部的页面级上使用它们)

数据绑定表达式概述

这是Dan Crevier撰写的一篇很棒的博客文章,其中介绍了他编写的测试应用程序以显示差异。

在本质上:

  • <%=表达式在渲染时求值
  • <%#表达式在DataBind()时计算,如果不调用DataBind(),则根本不计算。
  • <%#表达式可用作服务器端控件中的属性。 <%=表达式不能。

有几种不同的"蜂刺":

  • &lt;%@-页面指令
  • &lt;%$-资源访问
  • &lt;%=-显式输出到页面
  • &lt;%#-数据绑定
  • &lt;%--服务器端注释块

在ASP.Net 4中也是新功能:

  • &lt;%:-写出到页面,但是使用HTML编码