一个绑定表达式
<%#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} ")%>
我也来一个