我正在开发一个 ASP.Net MVC 3 Web 应用程序,我最近发布了一个关于如何显示复选框列表的问题
多亏了 RubbleFord 和 Darin Dimitrov 的帮助,我才得以完成这项工作。
这适用于一个复选框列表,但是,我现在需要能够在同一个视图上显示多个复选框列表,即,请参见附加的图像。
我目前用来显示一个列表的 ViewModel 如下;
public class ViewModelShiftSubSpecialties
{
public ListItem specialtyName { get; set; }
public IEnumerable<ViewModelCheckBox> SubSpecialityList { get; set; }
}
public class ViewModelCheckBox
{
public string Id { get; set; }
public string Name { get; set; }
public bool Checked { get; set; }
}
在我的控制器中,我像这样填充 ViewModelShiftSubSpecialties:
var subSpecialties = GetSubSpecialtiesForSpecialty(5);
ViewModelShiftSubSpecialties viewModel = new ViewModelShiftSubSpecialties();
var checkBoxList = new List<ViewModelCheckBox>();
viewModel.specialtyName = _listService.GetListItemByID(5); //Medicine Specialty
foreach (var item in subSpecialties)
{
ViewModelCheckBox chkBox = new ViewModelCheckBox { Id = item.subID.ToString(), Name = item.ListSub.description, Checked = false };
checkBoxList.Add(chkBox);
}
viewModel.SubSpecialityList = checkBoxList;
在我的视图中,我显示列表名称并使用编辑器模板显示复选框列表
<h3>@Model.specialtyName.description</h3>
@Html.EditorFor(m => m.SubSpecialityList)
但是,我完全不知道如何让上述代码在一个视图上处理多个复选框列表。这甚至可能吗?
如果有人能帮我解决这个问题,我将不胜感激。
谢谢。