Gridview模板列绑定日期最简单的方法是:<%# DateBinder.Eval(Container,DataItem,"日期字段名")%>。然而如此绑定时会在日期的后面出现多余的、令人讨厌"00:00:00"。为了去掉这多余的"00:00:00",就得必须对日期进行转换或进行格式化。但当日期为空时,无论是转换或是格式化均不能成功。怎么办呢?我尝试了很久,找到了一种方法:
在后台写一个函数,函数写法如下:
public string datebinder(object odate)
{
string sdate=odate.ToString();
if(sdate=="")
{
return "";
}
else
{
return DateTime.Parse(sdate).ToLongDateString();
}
}
再将前台代码改为::<%# datebinder(DateBinder.Eval(Container,DataItem,"日期字段名"))%>。
这样,既能去掉这多余的"00:00:00",又能解决日期为空时不能进行转换或格式化的困扰。