Visual Studio:ASPX:已损坏' IIf'语法:奇怪的错误

时间:2015-08-14 14:34:00

标签: asp.net iif

我的ASPX文件中的以下声明在 IIf()参数中包含ERROR ...

<br /><asp:Label ID="lblvalLOF_IS_DUE"  runat="server" 
Text='<%# IIf((Eval("aIsLOF_Due") = "True"), "&#9745;", "&#9744;")%>'
style="font-size: 2em;"/>

[错误列表]窗口中显示的错误是:

  

没有为参数&#39; FalsePart&#39;指定参数公共职能部门   IIf(表达式为布尔值,TruePart为对象,FalsePart为对象)为   对象&#39;

有一个&#34;波浪形的&#34;从 IIF 下划线到#9745的结尾引用;&#34; 表示 IIf 参数中存在语法错误。< / p>

我认为与特殊字符的声明存在一些冲突 - 要么是QUOTE,要么是AMPERSAND或#符号。

任何指导将不胜感激。提前谢谢。

2 个答案:

答案 0 :(得分:0)

似乎它与VS内部的aspx解析中的特殊情况"&...;"有关。

有趣的是,在C#中我有错误

  

错误1 |常数中的换行符

这也在删除分号后修复,所以这个工作样本

<asp:Label ID="lblvalLOF_IS_DUE"  runat="server" Text='<%# IIf((Eval("aIsLOF_Due") == "True"), "&#9745", "&#9744")%>' style="font-size: 2em;"/>

和C#相同

<asp:Label ID="lblvalLOF_IS_DUE"  runat="server" Text='<%# ((Eval("aIsLOF_Due") = "True")? "&#9745": "&#9744")%>' style="font-size: 2em;"/>

答案 1 :(得分:0)

好的朋友......我简化了aspx代码并删除了服务器代码,如下所示:

pageYOffset

我返回原始的IIf()编码,但是将分号与IIf()返回的值分开,并在IIf()之后连接分号。如果在aspx代码中有条件地设置颜色,这个结构也应该有效。