这是我尝试过的,但我的编译器并没有很好地接受它:
<%#(String.IsNullOrEmpty(Eval("WK_PHONE_EXT").ToString()) || ((Eval("WK_PHONE_EXT").ToString().Length = 4) ? "N/A" : Eval("WK_PHONE_EXT"))%>
我想检查字符串是否为 null 或为空,或者长度是否等于 4,如果是,则 ("WK_PHONE_EXT").ToString
将显示为“N/A”。我该怎么做?
最佳答案
我觉得括号不匹配。
((Eval("WK_PHONE_EXT").ToString().Length = 4)
................................................ ..................................... ^ 就在那里
您也可以只删除不必要的左括号。
正如 Omada 所指出的,Length = 4
需要是 Length == 4
我喜欢扩展我的内联以避免这些问题。像这样:
(String.IsNullOrEmpty(Eval("WK_PHONE_EXT").ToString())
|| ((Eval("WK_PHONE_EXT").ToString().Length = 4)
? "N/A"
: Eval("WK_PHONE_EXT")
)
理想情况下,第二行的括号不匹配会更明显。
我更喜欢 Karl 的方法。如果内联那么大,它不应该是内联。
关于c# - 如何在 <%# Eval "or")%> 内联语句中使用 ('column' 条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18239089/