有关DataBinder.Eval的条件运算符

6
我希望你能帮我实现类似以下的功能。
<%#(DataBinder.Eval(Container, "DataItem.Age").ToString()=="0") 
    ?"n/a"
    :"DataBinder.Eval(Container, "DataItem.Age")"%>

“它是否可能?”

1
你尝试时发生了什么? - Kirk Woll
2个回答

9
你可以在页面级别编写一个方法并在其中格式化输出。
例如:
<%# GetAgeDisplay(Eval("Age")) %>

在后台代码中:

public String GetAgeDisplay(Int16 age) {
  return age == 0 ? "n/a" : String.Format("{0}", age );
}

7

确保你调用了 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")%>

你现在做的是返回一个字符串,而不是执行绑定表达式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接