0

我有一个包含 html 链接应答器的中继器。如果 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): error CS1026: ) expected”

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


经过一些研究,我尝试了这个:

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

但同样的问题又来了……我在 IE8 上工作,会不会是兼容性问题?

再次感谢您的所有回答:)

4

1 回答 1

1

像这样使用它。如果Nom是,它也将起作用""

<a runat="server" name='<%# string.IsNullOrEmpty(Eval("Nom").ToString()) ? "..." : Eval("Nom") %>'><%# string.IsNullOrEmpty(Eval("Nom").ToString()) ? "..." : Eval("Nom") %></a>

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

于 2017-05-24T10:10:23.750 回答