ASP.NET Verbindlich, integer zu CheckBox Aktiviert Feld
Habe ich die folgende ListView-Element-Vorlage, in die ich versuche mich zu binden integer-Wert Checked
- Eigenschaft der CheckBox.
IsUploaded
Wert enthält nur 0 und 1...
<asp:ListView ID="trustListView" runat="server">
<ItemTemplate>
<asp:CheckBox ID="isUploadedCheckBox" runat="server"
Checked='<%# Bind("IsUploaded") %>' />
</ItemTemplate>
</asp:ListView>
Aber ASP.NET beschwert sich, dass
Exception Details: System.InvalidCastException: Sepcified cast ist nicht gültig
Obwohl Sie folgenden code verwenden DataBinder.Eval()
funktioniert,
Brauche ich ein 2-Wege-Bindung, so müssen verwenden Bind()
.
<asp:CheckBox ID="isUploadedCheckBox2" runat="server"
Checked='<%# Convert.ToBoolean(
DataBinder.Eval(Container.DataItem, "IsUploaded"))) %>' />
Wie kann ich umwandeln 0 und 1 zu booleschen mit Bind()
?
[ANTWORT]
Ich habe erweiterte auto-generated Art durch partielle Klasse wird durch das hinzufügen einer neuen Eigenschaft erwähnt in der Antwort von Justin
- Macht "IsUploaded" etwas oder andere boolean-Datentyp statt einer int-eine option?
- ist ein bit.
- Welche Art von Datenquelle sind Sie verbindlich? Binden Sie ein Markierungsfeld, um ein bisschen mit einem objectdatasource deutete auf einen Tisch-adapter funktioniert mit keine Fehler für mich.
- Es ist eine automatisch generierte Typ von Entity framework.
- Ich weiß nicht, warum ich nicht Upvote. Anyways, tut mir Leid, nicht in der Lage zu Stimme all die Super Antworten hier. Es sagt, dass ich nicht upvote, es sei denn, die Antworten sind bearbeitet??? ...
- hmmmm, seltsam. das macht nicht viel Sinn. Ich würde gerne mein edit beantworten wenn, öffnet sich eine Flut von Stimmen. 🙂
- Vielen Dank für die Bearbeitung. Ich war in der Lage, upvote.
InformationsquelleAutor Sung M. Kim | 2009-10-13
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie bereit sind, die Klasse zu wechseln, fügen Sie eine Eigenschaft auf die Klasse, die einen booleschen
Wenn nicht, haben Sie Erfolg mit einem TypeConverter:
Wie über das hinzufügen einer Eigenschaft in der Klasse, die die Konvertierung?
binden und anschließend zu diesem
IsUploadedBool
Eigenschaft anstatt direkt den zugrunde liegenden INT.Marc
Art kitschig umgehen, wäre die Verwendung einer drop-down-Liste mit den Listen-Elementen zu geben, die gleiche Wirkung:
Weitere Informationen, besuchen Sie:
http://dhondiyals.wordpress.com/2010/05/03/binding-checkbox-with-integer-value-in-gridviewtrick/
Wie etwa (btw, ich verwende eine gespeicherte Prozedur)
Aspx-Seite
Code hinter
Lösung:
Hallo, ich bin auch mit der Ajax-Bewertung innerhalb eines GridView und ich lief in dieses problem. Nach der Suche durch mehrere Foren, ich versuchte dies und es funktionierte für mich. Ich hoffe es hilft Euch:
gibt eine Ganzzahl zurück, da Sie Überprüft, die ist eine ganze Zahl.