<%# Eval("FeeStatus") == DBNull.Value OR 0 ? "UnPaid" : "Paid" %>
我只是想说IF FeeStatus为null或0而不是print Unpaid ..什么是语法? 这个条件叫做什么我的意思是我在网上搜索但不知道该写些什么?
答案 0 :(得分:0)
通过创建辅助函数,这可能是最可读的:
public bool IsPaid(object feeStatus) {
return feeStatus != DBNull.Value && !(bool)feeStatus;
}
然后你可以写:
<%# !IsPaid(Eval("FeeStatus")) ? "UnPaid" : "Paid" %>
C#没有任何转换为x == (y or z)
的本地x == y || x == z
表单,除了仅评估x
一次,您需要辅助函数或辅助变量。
如果你不介意两次致电Eval
,你可以完整地写出来:
<%# Eval("FeeStatus") == DBNull.Value || !(bool)Eval("FeeStatus")? "UnPaid" : "Paid" %>
但这很难理解。
但是,如果您知道FeeStatus
是DBNull.Value
,false
或true
之一,而不是与DBNull.Value
和{{1}进行比较},你可以比较false
:
true
答案 1 :(得分:0)
关闭,但没有雪茄。
<%# Eval("FeeStatus") == DBNull.Value || (int) Eval("FeeStatus") == 0 ? "UnPaid" : "Paid" %>
OR
<%# new object[]{ DBNull.Value, 0 }.Contains(Eval("FeeStatus")) ? "UnPaid" : "Paid" %>
C#中没有OR
运算符。更不用说它不清楚你期望OR
运算符如何在布尔逻辑中工作。
哦,伙计......好吧,你想要这种可憎的事。
<%# Eval("FeeStatus") as bool? ?? false ? "Paid" : "UnPaid" %>