日期:2014-05-18  浏览次数:20498 次

一个绑定表达式
<%#DataBinder.Eval(Container.DataItem, "AddTime ")%> 如果addtime为空显示---,不为空就格式化成yyyy-MM-dd方式,如何写绑定表达式呢?不在后台代码中处理。


------解决方案--------------------
<%# if(DataBinder.Eval(Container.DataItem, "AddTime ").ToString().Length == 0) DataBinder.Eval(Container.DataItem, "AddTime ", "yyyy-MM=dd ") else "--- " %>

好像只有这样了,但是需要调用两次 Eval (内部使用反射),故不建议这样,还是使用后台代码转换 如

<# FormatMyTime(DataBinder.Eval(Container.DataItem, "AddTime ")) %>

// .cs
string FormatMyTime(object o) {
return (o == null) ? "--- " : ((DateTime)o).ToString( "yyyy-MM=dd ");
}


------解决方案--------------------
<%#DataBinder.Eval(Container.DataItem, "AddTime ")== " "? "—— ":DataBinder.Eval(Container.DataItem, "AddTime ").ToString( "yyyy-MM-dd ")%>
------解决方案--------------------
<%#DataBinder.Eval(Container.DataItem, "AddTime ")== " "? "—— ":DataBinder.Eval(Container.DataItem, "AddTime ", "{0:d} ")%>

我也来一个