「Supplier」テーブルの各レコードには、bool の「SupplierEmailProvided」列があります。画面に値を表示するには:
@Model.Suppliers.Where(s => s.Id == products.PreferredSupplierId).FirstOrDefault().SupplierEmailProvided
これは問題なく動作しますが、ATM ではその値に応じて「true」または「false」が (画面上に) 表示されます。
値がFALSEの場合は無効になるチェックボックスに変更したい
次のようなものを試しました:@Html.CheckBoxFor(s => s.Suppliers.Where(x => x.SupplierEmailProvided)).FirstOrDefault().SupplierEmailProvided'
しかし良くない。アイデアはありますか?
編集 だから私は前にすべての提案をしました。
@if((s => s.Id == products.PreferredSupplierId).FirstOrDefault().SupplierEmailProvided)
{
@Html.CheckBoxFor(s => s.Suppliers
.Where(x => x.Id == products.PreferredSupplierId)
.FirstOrDefault()
.SupplierEmailProvided)
@Html.CheckBox("SupplierEmailProvided",true,
(Model.Suppliers.Where(x => x.SupplierEmailProvided)).FirstOrDefault().SupplierEmailProvided
? (object) new { disabled = "false" } : (object) new {disabled = "true" })
}
最初の if ステートメントは「operator 」と言います。ラムバ型のオペランドには適用できませんか?
助けはありますか?