2013-06-11 38 views
5

tôi có hộp kiểm trong đó là @Html.CheckBoxFor(model => model.SKUs.Jewish) nhưng người Do Thái của tôi trong cơ sở dữ liệu là loại nullable do đó, nó cho tôi một lỗi cannot implicitly convert type 'bool?' to 'bool'. làm thế nào để kiểm tra mô hình của tôi rằng nó có giá trị sau đó nó sẽ cho thấy rằng khác không. Xin vui lòng giúp đỡ.Chuyển đổi bool? để bool trong View

+0

@ Html.CheckBoxFor (model => model.SKUs.Jewish.HasValue? (Bool) model.SKUs.Jewish: false) – Steve

+0

ITS GỬI CHO TÔI L ERI: Bản mẫu chỉ có thể được sử dụng với truy cập trường, quyền truy cập thuộc tính, duy nhất -dạng chỉ số mảng, hoặc biểu thức chỉ mục tùy chỉnh tham số đơn. – DharaPPatel

+0

http://stackoverflow.com/questions/6849774/mvc3-creating-checkbox-for-nullable-boolean –

Trả lời

0

Với loại có thể vô hiệu, bạn kiểm tra xem nó có giá trị với thing.HasValue và nhận giá trị thực tế bằng cách sử dụng thing.Value hay không.

+0

làm cách nào để tôi đăng ký @ Html.CheckBoxFor (model => model.SKUs.Jewish) trong mã này? – DharaPPatel

6

Bạn có thể sử dụng như sau:

@Html.CheckBox("SKUs.Jewish", Model.SKUs.Jewish.GetValueOrDefault()); 

Nếu giá trị không được thiết lập nó sử dụng các loại giá trị mặc định nullable đó là sai.

+0

Khi đăng bài theo cách đó gửi giá trị null? –

+0

@ CanÜrek Xin chào, tôi đã cải thiện câu trả lời của mình ở trên. Tôi nghĩ rằng hoạt động tốt hơn. – hutchonoid

0

Và cuối cùng tôi giải quyết vấn đề đó. Nếu bạn đang sử dụng hộp kiểm; bỏ chọn Allow Nulls tùy chọn của trường của bạn trong DB của bạn. Đó là nó!

+1

Và điều gì sẽ xảy ra nếu trường này cần phải là vô giá trị? –

Các vấn đề liên quan