Я разрабатываю веб-приложение ASP.Net MVC 3 с использованием Entity Framework 4.1. У меня возникли проблемы с отображением CheckBoxList. Позволь мне объяснить.ASP.Net MVC 3 EditorFor CheckBoxList
У меня есть два ViewModel-х
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; }
}
В моем контроллере я заселить мои ViewModels
IList<RelationshipGradeSub> gradeSubSpecialties = GetSubSpecialtiesForGrade(firstShiftGrade.gradeID);
ViewModelShiftSubSpecialties viewModel = new ViewModelShiftSubSpecialties();
var checkBoxList = new List<ViewModelCheckBox>();
foreach (var item in gradeSubSpecialties)
{
ViewModelCheckBox chkBox = new ViewModelCheckBox { Id = item.subID.ToString(), Name = item.ListSubSpecialty.description, Checked = false, Specialty=item.ListSubSpecialty.ListItemParent.description };
checkBoxList.Add(chkBox);
}
viewModel.SpecialtyList = checkBoxList;
return View(viewModel);
У меня также есть частичный вид, который используется в качестве EditorTemplate для отображения флажков
@Html.HiddenFor(x => x.Id)
@Html.CheckBoxFor(x => x.Checked)
@Html.LabelFor(x => x.Name, Model.Name)<br />
Затем в моем представлении я пытаюсь фильтровать через Model.Specialty и классифицировать ite мс в три checkboxlists основанные на их специальности, а именно:
@foreach (var sub in Model.SpecialtyList)
{
if (sub.Specialty.Equals("Medicine"))
{
@Html.EditorFor(m => m.SpecialtyList)
}
else if (sub.Specialty.Equals("Surgery"))
{
@Html.EditorFor(m => m.SpecialtyList)
}
else if (sub.Specialty.Equals("Pathology"))
{
@Html.EditorFor(m => m.SpecialtyList)
}
}
Но это, кажется, не работает вообще, что это дает мне ничего в 1-й или 2-й CheckBoxList, а затем все элементы списка в поле Третий checkboxlist. В основном то, что я пытаюсь достичь что-то вроде этого
Может кто-то пожалуйста, дайте мне несколько советов, чтобы получить эту работу?
Спасибо.
Отладка и просмотр элементов Model.SpecialtyList 0 и 1 элемента индекса – Yorgo
Вы пробовали использовать это: '@ Html.EditorFor (m => sub)'? –
Так что же вы на самом деле получаете? – mattytommo