我的Enum值不能正确显示asp.net MVC

时间:2016-06-30 13:49:12

标签: c# asp.net-mvc

我的模型中有枚举,并且它没有在视图中的“显示名称”属性中正确显示指定的值,但它显示了值" AB"

[display(Name) ="Value Assigned"]= AB

"分配值"串。我该怎么做才能改变我的枚举模型或视图?

2 个答案:

答案 0 :(得分:1)

在/ Views / Shared / DisplayTemplates文件夹中包含此编辑器模板代码,如果该文件夹尚不存在,请创建该文件夹。

@model Enum

@* To display enum value in the view as it is givn by the data annotation Display[] method*@

@if (EnumHelper.IsValidForEnumHelper(ViewData.ModelMetadata))
{
    // Display Enum using same names (from [Display] attributes) as in editors
    string displayName = null;
    foreach (SelectListItem item in EnumHelper.GetSelectList(ViewData.ModelMetadata, (Enum)Model))
    {
        if (item.Selected)
        {
            displayName = item.Text ?? item.Value;
        }
    }

    // Handle the unexpected case that nothing is selected
    if (String.IsNullOrEmpty(displayName))
    {
        if (Model == null)
        {
            displayName = String.Empty;
        }
        else
        {
            displayName = Model.ToString();
        }
    }

    @Html.DisplayTextFor(model => displayName)
}
else
{
    // This Enum type is not supported.  Fall back to the text.
    @Html.DisplayTextFor(model => model)
}

希望不需要其他任何改变。这解决了我的问题。

答案 1 :(得分:0)

不要忘记在模型的枚举属性中使用jUIHint("Enum")

额外资源:codeproject.com