2009-10-09 8 views
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> 

Dans ma requête, je retourne la colonne "disponible" qui est remplie avec une lettre de Y ou N. Pour une raison quelconque, l'évaluation de cette expression n'est jamais vraie. Si je le change en != au lieu de == ce sera toujours vrai. Cela m'amène à croire que le Eval("available")=="Y" n'évalue tout simplement pas comme prévu.Comment définir l'attribut Visible dans un ItemTemplate?

Répondre

0

Après beaucoup de déconner, cela a finalement travaillé:

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

La question semble être que vous ne pouvez pas utiliser == mais vous devez utiliser la méthode String.Equals(). Je ne suis pas sûr pourquoi mais c'est comme ça.

Questions connexes