Tôi có một mẫu mục ListView sau đây, trong đó tôi đang cố ràng buộc giá trị số nguyên vào thuộc tính Checked
của CheckBox.Số nguyên ràng buộc ASP.NET vào trường Kiểm tra của CheckBox
IsUploaded
giá trị chỉ 0 và 1 chứa ...
<asp:ListView ID="trustListView" runat="server">
<ItemTemplate>
<asp:CheckBox ID="isUploadedCheckBox" runat="server"
Checked='<%# Bind("IsUploaded") %>' />
</ItemTemplate>
</asp:ListView>
Nhưng ASP.NET phàn nàn rằng
Ngoại lệ chi tiết: System.InvalidCastException: Sepcified dàn diễn viên không hợp lệ
Mặc dù mã sau đây sử dụng DataBinder.Eval()
hoạt động,
Tôi nee d để có một ràng buộc 2 chiều, do đó cần phải sử dụng Bind()
.
<asp:CheckBox ID="isUploadedCheckBox2" runat="server"
Checked='<%# Convert.ToBoolean(
DataBinder.Eval(Container.DataItem, "IsUploaded"))) %>' />
Làm thế nào tôi có thể chuyển đổi 0 và 1 để boolean sử dụng Bind()
?
[ĐÁP] tôi đã mở rộng loại tự động tạo ra thông qua partial class bằng cách thêm một tài sản mới được đề cập trong answer by Justin
Đang tạo "Đã tải lên" một chút hoặc kiểu dữ liệu boolean khác thay vì tùy chọn int? – kscott
@kscott: "Đã tải lên" là một chút. – Sung
Bạn đang ràng buộc loại nguồn dữ liệu nào? Ràng buộc một hộp kiểm đến một bit bằng cách sử dụng một objectdatasource trỏ đến một bộ điều hợp bảng làm việc không có lỗi cho tôi. – kscott