List<SelectListItem>
개체를 만드는 방법을 유지하는 주된 책임은 클래스입니다. 필요한 경우 여러보기에서 이러한 방법을 참조 할 수 있습니다.SelectList의 그룹 DropDownList에 표시되지 않음
나는 그룹화를 필요로 할 것입니다 생각 드롭 다운리스트를 가지고, 그래서 이런 짓을 :
내 컨트롤러에서public static List<SelectListItem> lstPersonnel()
{
var lstPersonnel = new List<SelectListItem>();
var lstActiveInstructors = db.InstructorSics.Where(x => x.Active).ToList();
var lstTest = new List<GroupedCFI>();
foreach (var person in lstActiveInstructors)
{
var emp = EmpData.GetEmp(person.InstrucSICIbm);
GroupedCFI cfi = new GroupedCFI()
{
Id = person.Id,
Name = $"{emp.FirstName} {emp.LastName}",
WorkLocation = $"{emp.Assignment} {emp.Section}"
};
lstTest.Add(cfi);
}
var groups = lstTest.GroupBy(x => x.WorkLocation).ToList();
foreach (var group in groups)
{
var slg = new SelectListGroup() {Name = group.Key};
foreach (GroupedCFI item in group)
{
SelectListItem myItem = new SelectListItem() {Text = item.Name, Value = item.Id.ToString(), Group = slg};
lstPersonnel.Add(myItem);
}
}
return lstPersonnel;
}
내가 가진이 : 내보기에서
ViewBag.InstrucSelect = new SelectList(SelectListMethods.lstPersonnel(), "Value", "Text", "Group", null, null);
:
@Html.DropDownListFor(model => model.InstrucSICId, (IEnumerable<SelectListItem>)ViewBag.InstrucSelect, "-- Select --", new { @class = "form-control" })
실행하면 드롭 다운 목록에 모든 이름이 표시되지만 그룹화는 단지입니다. 0. Value, Text 값이 그룹화되지는 않지만 왜 작동합니까?