C# 如何确保selectlist项目属于同一SelectListGroup?
我正在试验C# 如何确保selectlist项目属于同一SelectListGroup?,c#,asp.net-mvc-5,selectlist,optgroup,selectlistitem,C#,Asp.net Mvc 5,Selectlist,Optgroup,Selectlistitem,我正在试验元素,并试图使多个项目属于同一optgroup 我的代码: public async Task<ActionResult> GetStatsView() { var users = await _administrationServiceAPI.GetPersons(); var tanks = await _administrationServiceAPI.GetTanks(); var list = n
元素,并试图使多个项目属于同一optgroup
我的代码:
public async Task<ActionResult> GetStatsView()
{
var users = await _administrationServiceAPI.GetPersons();
var tanks = await _administrationServiceAPI.GetTanks();
var list = new List<SelectListItem>();
foreach (var u in users.Payload)
{
SelectListItem item = new SelectListItem {Text = u.Name, Value = u.Id.ToString(), Group = new SelectListGroup {Name = "Users"} };
list.Add(item);
}
foreach (var u in tanks.Payload)
{
SelectListItem item = new SelectListItem { Text = u.Name, Value = u.Id.ToString(), Group = new SelectListGroup { Name = "Tanks" } };
list.Add(item);
}
@ViewBag.MyList = list;
return View("StatsView");
}
结果:
设计结果为:
用户
用户名
用户名
用户名
坦克
坦克
坦克
坦克
如何执行此操作?要使其正常工作,您需要重用
SelectListGroup
。就像这样使用它:
var usersGroup = new SelectListGroup {Name = "Users"};
foreach (var u in users.Payload)
{
SelectListItem item = new SelectListItem {Text = u.Name, Value = u.Id.ToString(), Group = usersGroup };
list.Add(item);
}
当然,坦克也是如此
名称是否相同并不重要,在各个项目中使用的实例必须相同才能将它们分组为单个
optgroup
要使其工作,您需要重用SelectListGroup
。就像这样使用它:
var usersGroup = new SelectListGroup {Name = "Users"};
foreach (var u in users.Payload)
{
SelectListItem item = new SelectListItem {Text = u.Name, Value = u.Id.ToString(), Group = usersGroup };
list.Add(item);
}
当然,坦克也是如此
名称是否相同并不重要,在各个项目中使用的实例必须相同,以便将它们分组为单个
optgroup
,即使是最好的情况。至少你笑了:)即使是最好的也会发生。至少你笑了:)