In einem Gridview, ich versuche entweder eine Spalte oder eine andere öffentliche Boolesche Eigenschaft verwenden zu zeigen:ASP.net: Dynamische 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>
Aber ich erhalte eine Fehlermeldung sagen, dass es nicht Es ist möglich, ein System.Boolean aus einer Zeichenfolge zu erstellen, die <%! ShowPurchaseDate%> für die Eigenschaft Visisble enthält.
Wie kann ich dies erreichen?
UPDATE:
<% # ShowPurchaseDate%> funktioniert auch nicht, da es keine Datenbindung geht.
Die Verwendung einer geschützten Funktion funktioniert auch nicht (gleiche Fehlermeldung wie bei Property).
Haben Sie eine Zeichenfolge von der Methode zurückgegeben? – Dan
Da es sich um ein BoundField handelt, gibt es eine Datenbindung. Sie müssen es zu einem Vorlagenfeld machen. – Albert
Albert hat Recht bezüglich der Datenbindung. Das BoundField selbst ist jedoch nicht datengebunden. Wenn dies der Fall wäre, müssten Sie <% #. Konvertieren Sie es in eine Vorlage, wenn Sie es verwenden möchten (das <% = ist die render-Anweisung, die in diesem Kontext nicht verwendet werden sollte). Oder setze die Sichtbarkeit im Code hinterher (wie du es getan hast). – Ruslan