1.<% %>用来绑定后台代码

如:

< %

for(int i=0;i<100;i++)

{

Reaponse.Write(i.ToString());

}

%>

2.<%# %> 是在绑定控件DataBind()方法执行时被执行,用于数据绑定

如: < %# Container.DataItem("title") %>

3.<%= %>用来绑定后台的变量或方法且有返回值 的,但此时的变量名或方法的访问修饰符为protected或public

如:<%=name%> <%=getstr()%>

4.eval和bind

eval和bind都是绑定datatable或者其他(集合,等)中的内容,那么他们有什么区别呢?
性能方面怎么样呢?eval有哪几种用法呢?
ASP.NET中的Eval和DataBinder.Eval方法
bind是双向绑定,但需数据源可更改才能用。
ASP.NET 2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval(Container.DataItem, fieldname)
简化为Eval(fieldname)。
Eval方法与DataBinder.Eval一样可以接受一个可选的格式化字符串参数。
Eval语法与DataBinder.Eval的不同点在于,
Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,
而DataBinder.Eval需要使用参数来指定容器。
由于这个原因,Eval只能在数据绑定控件的模板中使用,而不能用于Page(页面)层。当然,ASP.NET 2.0页面中仍然支持DataBinder.Eval,你可以在不支持简化的Eval语法的环境中使用它。

用法<%# Bind("Name") %> //绑定字段
<%# Container.DataItemIndex + 1%> //实现自动编号
<%# Container.ItemIndex %> //Repeater自动编号
<%# DataBinder.Eval(Container.DataItem, "[n]") %>

通常使用的方法
<%# DataBinder.Eval(Container.DataItem, "ColumnName") %>
<%# DataBinder.Eval(Container.DataItem, "ColumnName", null) %>
<%# DataBinder.Eval(Container, "DataItem.ColumnName", null) %>

其他用法
<%# ((DataRowView)Container.DataItem)["ColumnName"] %>
<%# ((DataRowView)Container.DataItem).Row["ColumnName"] %>
<%# ((DataRowView)Container.DataItem)["adtitle"] %>
<%# ((DataRowView)Container.DataItem)[n] %>
<%# ((DbDataRecord)Container.DataItem)[0] %>
<%# (((自定义类型)Container.DataItem)).属性.ToString() %>//如果属性为字符串类型就不用ToString()了

Eval用法
DataBinder.Eval范例
<%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:c}") %>
格式化字符串参數是可选的。如果忽略参数,DataBinder.Eval 返回对象类型的值。

最新文章

  1. 在Navicat premium上创建的SQL Server数据库,实现用PHP连接(即php连接微软MSSQL)
  2. java.lang.UnsupportedClassVersionError: xxx/xxxClass : Unsupported major.minor version 51.0
  3. paper 63 :函数比较:imfilter与fspecial
  4. JavaScript中的加法运算
  5. C#利用Attribute实现简易AOP介绍 (转载)
  6. Linux下载jdk ,Linux如何下载jdk
  7. HDOJ(HDU) 2520 我是菜鸟,我怕谁(等差数列)
  8. 十天学Linux内核之第九天---向内核添加代码
  9. javascript-函数声明和函数表达式-call-apply
  10. Java经典编程题50道之二十
  11. NodeJs通过镜像下载相关NPM模块
  12. FatMouse and Cheese
  13. C#矩阵求逆
  14. TreeSet集合的自然排序与比较器排序、Comparable接口的compareTo()方法
  15. oracle之 安装oracle指定jdk 或者如何解决提示框显示不全
  16. 利用Delphi编程控制摄像头(图)
  17. 使用Dump转储文件排查线上环境服务未知问题
  18. idea tomcat启动乱码问题
  19. sql中COUNT(*)、COUNT(字段名)的区别
  20. 关于UIScrollView无限循环滑动

热门文章

  1. (寒假集训)Mooo Moo (完全背包)
  2. Closest Binary Search Tree Value -- LeetCode
  3. (转)Unity3d使用心得(1):ModelImporter的使用、在代码中添加动画片段。
  4. How to copy projects into workspace of eclipse after importing the project?
  5. iOS教程:如何使用NSFetchedResultsController
  6. 15 个 Docker 技巧和提示
  7. Jenkins 安装卡住不动的解决方案
  8. 【Scala-ML】怎样利用Scala构建并行机器学习系统
  9. Android Activity之间经典切换动画
  10. Linux下xargs命令详解及xargs与管道的区别