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

How to use Eval in ternary-operator, aspx page

因此,我尝试根据 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")%>" :

Compiler Error Message: CS1010: Newline in constant


或在 vs 中将鼠标悬停在以下代码上时:Eval("chrColorCode")

"Syntax error, ":" expected"

所有 C# 代码都必须由 <%# %> 包装,但 "returned" 值不是

<%# 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")%>"

这是您需要的代码,打开后无需再将 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")) %>