我需要在窗體上顯示一些複選框,用戶可以檢查儘可能多的希望。MVC3通過字典<string,bool>從視圖到控制器
因此,我在數據庫中存儲複選框選項。 (必填)
型號
public class Options
{
public int OptionsId {get; set;}
public string Option {get; set;}
}
在視圖模型,
IEnumerable<Options> listCheckBoxOptions {get; set;}// store list of options from database
Dictionary<string,bool> checkboxs {get; set;} // store if is check or not
所以在我要存儲在此複選框值(真/假)的觀點checkboxs字典。
@foreach (var x in Model.listCheckBoxOptions)
{
@Html.CheckBoxFor(m => m.checkboxs[x.Option])
@m.Option <br />
}
所以,當我提交表單...複選框爲空時,獲取到控制器。
任何想法爲什麼?
我覈對物品
IsSelected
屬性值對不起,我無法理解:視圖是否正確顯示,但是當您發佈視圖時,您將丟失複選框的值? – 2012-08-09 03:35:31是的,我在foreach循環創建的視圖上有3個複選框。所以,如果我檢查兩個框併發布到控制器。當我檢查控制器上的複選框變量時,它是空的(根本沒有)基本上我想讓控制器像這樣複選框[Option1] = true,複選框[Option2] = false,複選框[Option3] = true。取決於用戶檢查哪個複選框。我相信,它必須做我如何格式的HTML,所以我認爲它必須做與生成複選框的HTML foreach循環。 – Valter 2012-08-09 03:49:38