【问题标题】:Bind Enum Text based on the value to WebGrid将基于值的枚举文本绑定到 WebGrid
【发布时间】:2015-12-16 09:02:46
【问题描述】:

我一直致力于在 WebGrid 中绑定各种学生数据。数据包含枚举值,因此在绑定 Webgrid 后,我在输出中获得值,但我想为该值显示相应的枚举文本。 下面是我在 MVCDemo.Common.Enum 命名空间中的枚举

public enum Gender
{
    [Display(Name = "Male")]
    Male = 1,

    [Display(Name = "Female")]
    Female = 2,

    [Display(Name = "Other")]
    Other = 3
}

这是我的 WebGrid

var AdminGrid = new WebGrid(source: lstStudent, canPage: true, rowsPerPage: 5, canSort: true, selectionFieldName: "selectedRow");

            @AdminGrid.GetHtml(
                tableStyle: "table table-bordered  table-hover  table-condensed",
                headerStyle: "head",
                alternatingRowStyle: "altRow",
                selectedRowStyle: "selectRow",
                mode: WebGridPagerModes.All,
                rowStyle: "webGridDataRow",
                columns: AdminGrid.Columns(              
                    AdminGrid.Column("Firstname", "First Name"),
                    AdminGrid.Column("Email", "Email"),
                    AdminGrid.Column("Gender", "Gender"),
                    AdminGrid.Column("IdRole", "Role")))

我的问题是 Gender 是 Enum 类型,但在输出中它显示 1、2 或 3,但我想根据值显示 Male、Female、Other。

【问题讨论】:

  • 解决了这个问题,如果有人遇到这种问题可以寻求解决方案

标签: asp.net-mvc-4 enums webgrid


【解决方案1】:
grid.Column("Gender", "Gender",format: (item) => item.Gender == 1 ? 
Enum.Gender.Male : item.Gender == 2 ? Enum.Gender.Female : Enum.Gender.Other),

这里是

1 is Male,
2 is Female,
3 is Other

试试吧,它会 100% 起作用。

【讨论】:

    猜你喜欢
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 2015-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多