c# - 如何在 <%# Eval "or")%> 内联语句中使用 ('column' 条件?

标签 c#

这是我尝试过的,但我的编译器并没有很好地接受它:

<%#(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/

相关文章:

c# - 有没有办法用某个表中的列名填充组合框?

c# - 如何在应用程序设置中保存图像或文件流? UWP C#

c# - 如何将此 SQL 转换为 LINQ

c# - Angular 6 中的 cors 策略已阻止从源访问 xmlhttprequest

c# - 无法将子字符串发送到数据库

c# - Selenium - 强制点击不可见元素

c# - 传递颜色的策略(避免引用?)

c# - 如何在 C# 中为图像设置动画

c# - ExpectedException 没有捕获异常,但我可以用 try catch 捕获它

c# - 最小起订量和 Entity Framework