Mam następujący szablon elementu ListView, w którym próbuję powiązać wartość całkowitą z Checked
właściwością CheckBox.Liczba całkowita powiązana ASP.NET z polem CheckBox
IsUploaded
wartość zawiera tylko 0 i 1 ...
<asp:ListView ID="trustListView" runat="server">
<ItemTemplate>
<asp:CheckBox ID="isUploadedCheckBox" runat="server"
Checked='<%# Bind("IsUploaded") %>' />
</ItemTemplate>
</asp:ListView>
Ale ASP.NET zarzuca
Szczegóły wyjątek: System.InvalidCastException: Sepcified obsada nie jest ważna
Mimo że kod działający pod DataBinder.Eval()
działa,
I nee d mieć wiązanie dwukierunkowe, dlatego należy użyć Bind()
.
<asp:CheckBox ID="isUploadedCheckBox2" runat="server"
Checked='<%# Convert.ToBoolean(
DataBinder.Eval(Container.DataItem, "IsUploaded"))) %>' />
Jak mogę przekonwertować 0 i 1 do boolean użyciu Bind()
?
[ODPOWIEDŹ] mam przedłużony automatycznie wygenerowane przez typ częściowego klasy dodając nową właściwość wymienionego w answer by Justin
Czy "IsUploaded" jest bitem lub innym boolowskim typem danych zamiast int opcja? – kscott
@kscott: "IsUploaded" jest trochę. – Sung
Jakie źródło danych wiążą Państwo? Wiązanie pola wyboru do bitu przy użyciu źródła danych obiektu wskazującego adapter tabeli działa bez żadnych błędów dla mnie. – kscott