MVCContrib網格:ASP.NET MVC 4和MVCContrib電網:在複雜類型渲染複選框爲每個TR和郵政值
@model ViewModel
@using (Html.BeginForm("SendData", "Home", FormMethod.Post))
{
@Html.Grid(Model.List).Columns(c =>
{
c.For(x => x.Id);
c.For(x => x.Name);
c.For(x =>Html.Partial("Partial/CheckBoxTemplate", new CheckBoxViewModel { Id = x.Id })).Named("Options");
})
@Html.SubmitButton()
}
控制器發佈操作:
public ActionResult SendData(List<CheckBoxViewModel> list)
{
return View();
}
的ViewModels :
public class CheckBoxViewModel
{
public int Id { get; set; }
public bool CheckBox { get; set; }
}
public class ViewModel
{
public IPagination<Data> List { get; set; }
}
public class Data
{
public int Id { get; set; }
public string Name { get; set; }
}
管窺:
@model MvcApplication1.Models.CheckBoxViewModel
@Html.HiddenFor(x => x.Id)
@Html.CheckBoxFor(x => x.CheckBox)
所有checkboxed默認情況下不進行檢查。
如何檢索我的SendData
操作中的所有已選中的複選框值?
'Partial/CheckBoxTemplate.cshtml'裏面有什麼?你也似乎綁定了一些'Name'屬性('c.For(x => x.Name);'),但是我看不到在你的'CheckBoxViewModel'中定義的這樣的屬性。你能不能展示你真實的代碼? –
我更新了問題。 – Rookian
但是你只傳遞'Id'給你的部分,你從來沒有設置布爾型的CheckBox屬性。你爲什麼不使用視圖模型?爲什麼你的'ViewModel'使用'IPagination '屬性而不是'IPagination'這會更有意義,因爲你試圖在視圖中生成複選框? –