【问题标题】:Select Tag Helper with grouping elements选择带有分组元素的 Tag Helper
【发布时间】:2016-11-10 16:37:13
【问题描述】:
ASP.NET MVC Core 中的Select tag helper 是否具有如下所示的分组选项。我正在使用最新版本的 ASP.NET Core 和 VS2015:
<select>
<optgroup label="Swedish Cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</optgroup>
<optgroup label="German Cars">
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</optgroup>
</select>
显示:
【问题讨论】:
标签:
asp.net-mvc
tag-helpers
【解决方案1】:
是的。 SELECT 标签助手可以为选项呈现选项组。您所要做的就是在创建新的SelectListItem 对象时提供Group 属性值。
var swedish = new SelectListGroup { Name="Swedish" };
var german = new SelectListGroup { Name="German" };
var optionItems = new List<SelectListItem>
{
new SelectListItem { Value="vovlo", Text = "Volvo", Group = swedish },
new SelectListItem { Value="saab", Text="Saab", Group = swedish },
new SelectListItem { Value="mercedes", Text="Mercedes", Group = german } ,
new SelectListItem { Value="audi", Text ="Audi", Group = german }
};
// use optionItems for asp-items when using SELECT tag helper
【解决方案2】:
选择标签助手有一个items 参数,您可以在其中传递一个IEnumerable<SelectListItem>。 SelectListItem 有一个属性Group,它是SelectListGroup 的一个实例。换句话说,这实际上是关于您如何设置SelectListItems 列表。标签助手应该生成optgroups,如果你定义了它们。