如何在三元运算符,aspx页面中使用Eval

时间:2016-08-25 08:19:26

标签: asp.net eval ternary-operator

所以,我试图根据bitColors值显示2个不同的html代码。我收到了给定的错误,如何才能在aspx页面上解决?

<%# Eval("bitColor").ToString() == "true" 
    ? "<i class='fa fa-circle-o' style='color: rgb(<%# Eval("chrColorCode") %>)'></i><%# Eval("varDisplayName")%>" 
    : "<i class='fa fa-circle-o' style='display: none'></i><%# Eval("varDisplayName")%>" 
%>


我进入? "<i class='fa fa-circle-o' style='color: rgb(<%# Eval("chrColorCode") %>)'></i><%# Eval("varDisplayName")%>"

  

编译器错误消息:CS1010:常量

中的换行符


或将鼠标悬停在vs:Eval("chrColorCode")

中的以下代码上
  

&#34;语法错误,&#34;:&#34;预期&#34;   

2 个答案:

答案 0 :(得分:0)

所有C#代码必须用&lt;%#%&gt;包装,但&#34;返回&#34;值不是

<%# Eval("bitColor").ToString() == "true"? %> "<i class='fa fa-circle-o' style='color: rgb(<%# Eval("chrColorCode")%>)'></i><%# Eval("varDisplayName")%>" 
<%#:%> "<i class='fa fa-circle-o' style='display: none'></i><%# Eval("varDisplayName")%>"

答案 1 :(得分:0)

这是您需要的代码,一旦打开它,就不需要再将Eval包装成c#代码引号。

<%# Eval("bitColor").ToString() == "true" 
? ("<i class='fa fa-circle-o' style='color: rgb(" + Eval("chrColorCode") + ")'></i>" + Eval("varDisplayName")) 
: ("<i class='fa fa-circle-o' style='display: none'></i>" + Eval("varDisplayName")) %>