如何在asp.net页面中使用服务器标签进行三元运算?

时间:2017-05-24 09:27:22

标签: c# asp.net ternary-operator server-tags

我有一个包含HTML链接应答器的Repeater。如果Eval(“Name”)== null或Eval(“Name”),我希望属性名称和文本都是“...”。 所以我试着这样做:

<a runat="server" class="a_equipement" onserverclick="displayEquipment" name='<%= Eval("Nom")%> == null ? "..." : <%# Eval("Nom")%>'> <%= Eval("Nom");%> == null ? "..." : <%# Eval("Nom");%> </a>

但它没有用,我得到了一个奇怪的错误:“DC6_Configuration_Equipement.aspx(42,214):错误CS1026:)预期”

可以这样做还是有其他可能性?

经过一番研究后我尝试了这个:

name='<%# Eval("Nom") == null ? "..." : Eval("Nom")%>'

但同样的问题......我在IE8上工作,可能是兼容性问题吗?

再次感谢您的回答:)

1 个答案:

答案 0 :(得分:1)

像这样使用它。如果Nom""

,它也会有效
<a runat="server" name='<%# string.IsNullOrEmpty(Eval("Nom").ToString()) ? "..." : Eval("Nom") %>'><%# string.IsNullOrEmpty(Eval("Nom").ToString()) ? "..." : Eval("Nom") %></a>

与IE 8的兼容性与三元运算符本身无关。