c#
  • asp.net
  • ternary-operator
  • server-tags
  • 2017-05-24 25 views 0 likes 
    0

    我有一个包含html链接应答器的转发器。如果Eval(“Name”)== null或Eval(“Name”)代替,我希望属性名称和文本都是“...”。 所以我尝试这样做:如何在asp.net页面中使用服务器标签进行三元操作?

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

    但它没有工作,我有一个奇怪的错误:“DC6_Configuration_Equipement.aspx(42214):错误CS1026:)预计”

    是否有可能这样做还是有其他可能吗?


    经过一番研究,我试试这个:

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

    但再次同probleme ......我在IE8的工作,它可能是保持兼容问题?

    再次感谢您的答复:)

    +1

    你不应该这样做。使用你的代码来处理数据到你想要呈现的内容。使用标记来显示已经计算的值。 – Servy

    回答

    1

    使用它是这样的。然后,它也将工作,如果Nom""

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

    的兼容IE 8没有任何与三元运营商本身。

    相关问题