Dans un GridView, je suis en train de montrer soit une colonne ou un autre en utilisant une propriété booléenne publique:ASP.net: Dynamic BoundFields
<Columns>
...
<asp:BoundField Visible="<%= !ShowPurchaseDate %>" DataField="Published" HeaderText="Publicerad" SortExpression="PriceRange" DataFormatString="{0:yyyy.MM.dd}" HtmlEncode="false" />
<asp:BoundField Visible="<%= ShowPurchaseDate %>" DataField="OrderDate" HeaderText="Köpt" SortExpression="OrderDate" DataFormatString="{0:yyyy.MM.dd}" HtmlEncode="false" />
...
</Columns>
Mais je reçois un message d'erreur indiquant que ce n'est pas possible de créer un System.Boolean à partir d'une chaîne contenant <%! ShowPurchaseDate%> pour la propriété Visisble.
Comment puis-je obtenir ceci?
MISE À JOUR:
<% # ShowPurchaseDate%> ne fonctionne pas non plus, car il n'y a pas de liaison de données en cours. L'utilisation d'une fonction protégée ne fonctionne pas non plus (même message d'erreur qu'avec la propriété).
Avez-vous renvoyé une chaîne de la méthode? – Dan
Puisque c'est un BoundField, il y a une liaison de données. Vous devez en faire un champ de modèle pour travailler. – Albert
Albert a raison sur la liaison de données. Cependant, le BoundField lui-même n'est pas lié aux données. Si c'était le cas, vous auriez besoin de <% #. Convertissez-le en modèle si vous voulez l'utiliser (la <% = est une directive de rendu qui ne devrait pas être utilisée dans ce contexte). Ou définissez la visibilité dans le code derrière (comme vous l'avez fait). – Ruslan