zoukankan      html  css  js  c++  java
  • Eval,Bind,<% %>,<%# %>和<%= %> 笔记


    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 返回对象类型的值。

  • 相关阅读:
    UINavigation Controller
    多表连接原理
    关于内存管理
    UITabBar Contoller
    网站优化HTTP应用
    网站优化ASP.net页面跳转方式优化
    网站优化缓存访问的改进
    马化腾关于产品设计与用户体验的培训(转)
    聚聚呀平台系统结构图
    网站产品支付
  • 原文地址:https://www.cnblogs.com/jicheng/p/7699549.html
Copyright © 2011-2022 走看看