C#rdlc日期切换语句不起作用

时间:2014-09-24 20:49:18

标签: c# switch-statement rdlc

=Switch(
    IsNothing(Parameters!additionalDate.Value), " ",
    len(Parameters!additionalDate.Value) <5, " ",
    len(Parameters!additionalDate.Value)>=5, CDate(Parameters!additionalDate.Value).ToShortDateString()
    )

如果没有日期,这将在报告上引发#Error。日期字段恰好是2个空白字符。为什么这会将错误作为输出而不是“”?

1 个答案:

答案 0 :(得分:2)

switch()iif()choose()之类的VBScript表达式不像在C#中那样短路,因此您的switch语句中的所有表达式都将被评估,无论价值是什么。

尝试在加载报告的方法/流程中更早地执行验证。如果无法做到这一点,则必须检查每个可能的值/空值。