asp.net-2.0
  • templatefield
  • 2009-10-09 98 views 1 likes 
    1
    <asp:TemplateField HeaderText="Audio"> 
        <ItemTemplate> 
         <asp:Image ID="playImage" runat="server" 
          ImageUrl="~/images/nextpg.gif" 
          Visible='<%# (Eval("available")=="Y") ? true : false %>' /> 
        </ItemTemplate> 
    </asp:TemplateField> 
    

    在我的查询中,我返回填充了Y或N字母的“可用”列。由于某种原因,对此表达式的评估从未如此。如果我将其更改为!=而不是==,它将始终为真。这让我相信Eval("available")=="Y"根本就没有按照预期进行评估。如何在ItemTemplate中设置Visible属性?

    回答

    0

    多瞎搞之后,这次终于工作:

    <%# ((String)Eval("available")).Equals("Y") ? true : false %> 
    

    这个问题似乎是,你不能使用==,而是必须使用String.Equals()方法。我不确定为什么但这只是它的方式。

    相关问题