Html.DropDownListFor按bool分组 - 显示字符串而不是bool值

时间:2016-05-30 07:36:04

标签: c# asp.net-mvc html-helper

我正在使用Html.DropDownListFor()来显示包含列表数据的下拉列表。列表项有一个名为IsPublic的布尔属性,用于定义此项是否公开。

以下是我定义下拉列表的方式:

@Html.DropDownListFor(m => m.SelectedLayout,
                    new SelectList(Model.Layout, "LayoutString", "LayoutName", "IsPublic", 1))

如您所见,我正在按属性IsPublic进行分组。正如预期的那样,分组按以下方式完成,具有以下组的命名:

enter image description here

注意分组是如何通过布尔值(truefalse)完成的。

我是否有办法将此分组显示为自定义字符串,但仍然按布尔值分组?因此,如果IsPublic == true将分组名称显示为Public,反之亦然IsPublic == false,则将分组名称显示为Private

1 个答案:

答案 0 :(得分:2)

您可以在类中使用get only属性,并将其用于分组。

public string DisplayPublic {
    get { return IsPublic ? "Public" : "Private"; }
}