1
我正在開發一個ASP.Net MVC 3 Web應用程序,我很難檢索我的控制器中的HttpPost方法中選定的複選框值。希望有人能幫助。ASP.Net MVC 3檢索CheckBoxList值
我有2周的ViewModels
public class ViewModelShiftSubSpecialties
{
public IEnumerable<ViewModelCheckBox> SpecialtyList { get; set; }
}
public class ViewModelCheckBox
{
public string Id { get; set; }
public string Name { get; set; }
public bool Checked { get; set; }
public string Specialty { get; set; }
}
和部分查看我作爲一個EditorTemplate
@model Locum.UI.ViewModels.ViewModelCheckBox
@Html.HiddenFor(x => x.Id)
@Html.CheckBoxFor(x => x.Checked)
@Html.LabelFor(x => x.Name, Model.Name)<br />
在我看來,我下創建兩個標題複選框使用,醫學和外科手術
<h3>Medicine</h3>
foreach (var sub in Model.SpecialtyList)
{
if (sub.Specialty.Equals("Medicine"))
{
@Html.EditorFor(m => sub)
}
}
<h3>Surgery</h3>
foreach (var sub in Model.SpecialtyList)
{
if (sub.Specialty.Equals("Surgery"))
{
@Html.EditorFor(m => sub)
}
}
然後在我的HttpPost控制器中,我嘗試獲取所選複選框的值,但mode.SpecialtyList始終爲空
[HttpPost]
public ActionResult AssignSubSpecialties(ViewModelShiftSubSpecialties model)
{
foreach (var item in model.SpecialtyList)
{
if (item.Checked)
{
//do some logic
}
}
return View();
}
有誰知道爲什麼model.SpecialtyList總是爲空?
任何幫助,非常感謝。
謝謝。
感謝Karaxuna。 – tgriffiths 2012-04-19 09:43:16
歡迎您:) – karaxuna 2012-04-20 05:57:45