zoukankan      html  css  js  c++  java
  • asp.net中DataBinder.Eval的用法总结

      很久没用vs2003了,晕用惯Eval("ss"),DataBinder好多都要不熟悉,也忘了什么时候网上转载记下

      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} 货币样式

    文章转载自网管之家:http://www.bitscn.com/pdb/dotnet/201003/181865.html

    下面是从别处转载的

    数字 {0:N2} 12.36

    数字 {0:N0} 13

    数字 {0:D} 12345 12345

    数字 {0:D8} 12345 00012345

    数字 {0:F} 12345.6789 12345.68

    数字 {0:F0} 12345.6789 12346

    数字 {0:G} 12345.6789 12345.6789

    数字 {0:G7} 123456789 1.234568E8

    货币 {0:c2} $12.36

    货币 {0:c4} $12.3656

    货币 "¥{0:N2}" ¥12.36

    科学计数法 {0:E3} 1.23E+001

    百分数 {0:P} 12.25%

    日期 {0:D} 2006年11月25日

    日期 {0:d} 2006-11-25

    日期 {0:f} 2006年11月25日 10:30

    日期 {0:F} 2006年11月25日 10:30:00

    日期 {0:s} 2006-11-26 10:30:00

    时间 {0:T} 10:30:00

    时间 {0:t} 10:30

    作者:于为源 出处: http://www.cnblogs.com/yuanyuan/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    skynet源码分析之socketchannel
    skynet源码分析之master/salve集群模式
    skynet源码分析之网络层——网关服务器
    Android反编译基础(apktoos)--广工图书馆APK
    Android-Native-Server 启动和注册详细分析
    Android NDK r8 windows环境搭建
    Android 4.1.1源码编译
    Android Binder------ServiceManager启动分析
    更改系统盘符后DFS无法复制故障处理
    Centos6.9部署Gitlab-11.9.8并汉化
  • 原文地址:https://www.cnblogs.com/yuanyuan/p/1955305.html
Copyright © 2011-2022 走看看