You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core DropDownList分组显示异常问题求助

解决DropDownList分组重复显示的问题

问题原因

你当前的代码中,每个选项都创建了新的SelectListGroup实例——哪怕分组名称完全相同,MVC也会将它们识别为不同分组,最终渲染时每个选项都会重复显示分组名。如果只给首个选项设置分组,后续选项因未关联同一个分组实例,自然会失去分组效果。

正确实现方式

先提前创建好分组实例,再将同一个实例分配给同组的所有选项:

var group1 = new SelectListGroup { Name = "Group 1" };
var group2 = new SelectListGroup { Name = "Group 2" };
var group3 = new SelectListGroup { Name = "Group 3" };
var group4 = new SelectListGroup { Name = "Group 4" };

var list = new List<SelectListItem>
{
    new SelectListItem { Text = "Option 1", Group = group1 },
    new SelectListItem { Text = "Option 2", Group = group1 },
    new SelectListItem { Text = "Option 3", Group = group2 },
    new SelectListItem { Text = "Option 4", Group = group3 },
    new SelectListItem { Text = "Option 5", Group = group4 },
};

原理说明

MVC的DropDownListFor是通过SelectListGroup的对象引用来判断是否属于同一分组的,而非分组名称。复用同一个分组实例,就能让同组选项被归到同一分组下,渲染时只会在组的首个选项上方显示一次分组名。

内容的提问来源于stack exchange,提问作者Craig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 23:32:32