具有日期字段类型的条件IF逻辑
本文关键字:条件 IF 逻辑 类型 日期 字段 | 更新日期: 2023-09-27 18:22:36
这更多的是一个语法问题(我认为),但我一直在努力解决它。
我们在ERP系统中创建了一个用户定义的字段。ERP将其填充为1753-01-01 00:00:00.000,而不是NULL。我有一个引用这个UDF的表单视图控件。如果日期是1753年的值,我希望能够有条件地隐藏日期。
所以我想在ASP页面(而不是代码后台)中执行以下操作:
如果字段=1753-01-01 00:00:00.000,则值="If字段!=1753-01-01 00:00:00.000,则值=字段
这是我的标签:
<asp:Label ID="lblReactDate" runat="server"
Text='<%# Bind("UDF_ML_REACT", "{0:MM/dd/yyyy}") %>' />
我想做一些类似的事情:
<asp:Label ID="lblReactDate" runat="server" Text='<%# Bind("UDF_ML_REACT")%> == "1753-01-01 00:00:00.000" ? "" : <%# Bind("UDF_ML_REACT")%>'
我尝试了一些变体,似乎觉得我遇到了语法墙,或者这是不可能的。我想同样让我失望的是日期格式。
将Bind更改为Eval,因为您没有使用Label进行双向数据绑定,还需要强制转换为字符串以使用==
<asp:Label ID="lblReactDate" runat="server"
Text='<%# Eval("UDF_ML_REACT").ToString() == "1753-01-01 00:00:00.000"
? "" : Eval("UDF_ML_REACT", "{0:MM/dd/yyyy}")%>' />
或
<asp:Label ID="lblReactDate" runat="server"
Text='<%# Eval("UDF_ML_REACT","{0:yyyy}").ToString() == "1753"
? "" : Eval("UDF_ML_REACT", "{0:MM/dd/yyyy}")%>' />
这里有另一个"变体"供您尝试,以防其他变体不起作用:
<asp:Label ID="lblReactDate" runat="server" Text='<%# (string)DataBinder.Eval(Container, "DataItem.UDF_ML_REACT") == "1753-01-01 00:00:00.000" ? "" : DataBinder.Eval(Container, "UDF_ML_REACT")%>' />