次の ListView 項目テンプレートがあり、整数値をChecked
CheckBox のプロパティにバインドしようとしています。
IsUploaded
値には 0 と 1 しか含まれていません...
<asp:ListView ID="trustListView" runat="server">
<ItemTemplate>
<asp:CheckBox ID="isUploadedCheckBox" runat="server"
Checked='<%# Bind("IsUploaded") %>' />
</ItemTemplate>
</asp:ListView>
しかし、ASP.NETはそれを訴えます
例外の詳細: System.InvalidCastException: 指定されたキャストが無効です
次のコードを使用してもDataBinder.Eval()
動作
しますが、双方向バインディングが必要なため、使用する必要がありますBind()
。
<asp:CheckBox ID="isUploadedCheckBox2" runat="server"
Checked='<%# Convert.ToBoolean(
DataBinder.Eval(Container.DataItem, "IsUploaded"))) %>' />
を使用して 0 と 1 をブール値に変換するにはどうすればよいBind()
ですか?
[回答]ジャスティン の回答に記載されている新しいプロパティを追加して、部分クラスを介して自動生成型を拡張しました