• 转DataBinder.Eval总结


     

    一、DataBinder.Eval的基本格式

    在绑定数据时经常会用到这个句程序:
    <%# DataBinder.Eval(Container.DataItem,"xxxx")%>
    或者
    <%# DataBinder.Eval(Container,"DataItem.xxxx")%>

    今天又学到一种,而且微软也说这种方法的效率要比以上两种高。
    <%# ((DataRowView)Container.DataItem)["xxxx"]%>

    很有用的,这样可以在前台页面做好多事情了。

    还要记住要这样用必须要在前台页面导入名称空间System.Data,否则会生成错误信息。

    <%@ Import namespace="System.Data" %>

    这种用法其实和<%# ((DictionaryEntry)Container.DataItem).Key%>是一个道理。

    Text='<%# DataBinder.Eval(Container.DataItem, "字段") %>'  这样的方法是最快的

    Text='<%# GetPrice() %>'  也可以绑定方法,但方法要是public的

    Text='<%# "CarDetails.aspx?CarID=" + DataBinder.Eval(Container.DataItem, "CarID") %>'

    还可以连接多个字段

    关键是Container这个东西,它比较神秘。它的名称空间是System.ComponentModel。对于它我还需要进一步理解。

    二、DataBinder.Eval实现判断选择
    <asp:TemplateColumn HeaderText="性别">
    <ItemTemplate>
    <%# DGFormatSex(Convert.ToString(DataBinder.Eval(Container.DataItem,"xb"))) %>
    </ItemTemplate>
    </asp:TemplateColumn>

    cs里定义DGFormatSex方法
    protected string DGFormatSex(string xb)
    {
      if(xb == "1")
      return "男";
      else
      return "女";
    }

    DataBinder.Eval用法范例

    //显示二位小数
    //<%# DataBinder.Eval(Container.DataItem, "UnitPrice", "${0:F2}") %>

    //{0:G}代表显示True或False
    //<ItemTemplate>
    // <asp:Image Width="12" Height="12" Border="0" runat="server"
    // AlternateText='<%# DataBinder.Eval(Container.DataItem, "Discontinued", "{0:G}") %>'
    // ImageUrl='<%# DataBinder.Eval(Container.DataItem, "Discontinued", "~/images/{0:G}.gif") %>' />
    // </ItemTemplate>

    //转换类型
    ((string)DataBinder.Eval(Container, "DataItem.P_SHIP_TIME_SBM8")).Substring(4,4)

    {0:d} 日期只显示年月日
    {0:yyyy-mm-dd} 按格式显示年月日
    {0:c} 货币样式

    文章出处:www.cnblogs.com/jizhong

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。否则保留追究法律责任的权利。

  • 相关阅读:
    51Nod 2006 飞行员配对(二分图最大匹配)-匈牙利算法
    51Nod 1212无向图最小生成树
    51Nod 1081前缀和
    51Nod 1118 机器人走方格--求逆元
    Java四种线程池的使用
    java常用的几种线程池比较
    一名3年工作经验的程序员应该具备的技能(写得很好,果断转)
    《深入理解mybatis原理》 MyBatis的架构设计以及实例分析
    javadoc
    java 反射机制 观点
  • 原文地址:https://www.cnblogs.com/jizhong/p/1209696.html
Copyright © 2020-2023  润新知