我有一个包含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上工作,可能是兼容性问题吗?
再次感谢您的回答:)
答案 0 :(得分:1)
像这样使用它。如果Nom
为""
:
<a runat="server" name='<%# string.IsNullOrEmpty(Eval("Nom").ToString()) ? "..." : Eval("Nom") %>'><%# string.IsNullOrEmpty(Eval("Nom").ToString()) ? "..." : Eval("Nom") %></a>
与IE 8的兼容性与三元运算符本身无关。