我想做这样的事情
<%#(DataBinder.Eval(Container, "DataItem.Age").ToString()=="0")
?"n/a"
:"DataBinder.Eval(Container, "DataItem.Age")"%>
有可能吗?
答案 0 :(得分:8)
您可以在页面级别编写方法并在那里格式化输出。
例如
<%# GetAgeDisplay(Eval("Age")) %>
并在代码背后:
public String GetAgeDisplay(Int16 age) {
return age == 0 ? "n/a" : String.Format("{0}", age );
}
答案 1 :(得分:6)
确保您正在调用DataBinder
而不是简单地返回字符串:
改变这个:
<%#(DataBinder.Eval(Container, "DataItem.Age").ToString()=="0") ?
"n/a":"DataBinder.Eval(Container, "DataItem.Age")"%>
要:
<%#(DataBinder.Eval(Container, "DataItem.Age").ToString()=="0") ?
"n/a":DataBinder.Eval(Container, "DataItem.Age")%>
您正在做的是返回一个字符串而不是执行绑定表达式。