grid中的绑定 格式化

一个典型的例子. 适用 asp.net2.0

有一个表是存储学生的信息 :字段 出生年月日,datetime 性别 bit (bool) 名字 varchar

这个时候我们希望显示

名字      年龄      性别 出生年月
张三      20            男   2005-12-10
小云      23            女   2004-13-12


名字的话.我们不需要进行任何的操作就可以直接绑定了 <%#Eval("Name")%>
第二个年龄呢? 似乎没有办法直接对它进行绑定了.
第三个性别.也没有办法对它直接进行绑定了
第四个似乎也没有办法对它直接绑定.等等 不要这么快下决定.我们可以对它进行一下格式化(可以设置它的Formart 似乎仅限于 货币,日期.其它不懂如何去用)

这个时候我们就会想.第四个可以这样格式化.哪第二个是不是可以呢?   我也不清楚如何去实现

我们来看将要出场的
第一种方法 自己在 aspx.cs这个文件时写一个方法

protected string GetAge(object o)
{
    
//某些代码
   return 
}

接着在aspx文件里就可以用<%#GetAge(Eval("Birthday"))%>

第二种方法是在DataBound事件中写.代码省略..

第三种方法用了这么多的服务端的方法 我们是不是把目光稍微转移一下.对了.客服端脚本
我们可以利用js来计算它的年龄

<script>
function GetAge(o)
{
    
var age;
//进行age
   document.write(age);
}

</script>

调用这这样用了<script>GetAge('<%#Eval("Birthday")%>')</script>

接下来我们要绑定性别了.

性别同样的可以按上面的三种方法进行绑定.你是否可以想到新的方法呢?

第四种方法.图片替换法.(适用于,bool型 int型)
<img src='images/sex/<%#Eval("Sex")%>.gif' /> 假设为true就会显示出一个男性的图片.flash则显示出一个女性的图片
第五种 <%#Eval("AddTime","{0:d}") %> 在字符串格式化
第六种方法:在 sql查询阶段进行替换.代码省略.

风云 lovebanyi

原文地址:https://www.cnblogs.com/lovebanyi/p/598585.html