MVC中索引视图中的枚举到枚举

时间:2010-09-21 13:31:47

标签: c# asp.net-mvc enums

我的数据库中有HelpBoxes。这些是人们在网站上获得的消息。每条消息都有一个接收器。无论是组织还是用户,或两者兼而有之。

我有这个枚举

    public enum Ontvangers {
        All = 'A',
        Organisation = 'I',
        User = 'D'
    }

现在在我的索引视图中

    public ActionResult Index(string schooljaarparam) {
        var boxes = _db.HelpBoxes.Where(q => q.Schooljaar.Sch_Schooljaar == schooljaarparam);
        return View(boxes);
    }

<% foreach (var item in Model) { %>

    <tr>
        <td>
            <%: Html.ActionLink("Edit", "Edit", new { id=item.hlpb_ID }) %> |
            <%: Html.ActionLink("Details", "Details", new { id=item.hlpb_ID })%> |
            <%: Html.ActionLink("Delete", "Delete", new { id=item.hlpb_ID })%>
        </td>
        <td>
            <%: item.hlpb_Titel %>
        </td>
        <td>
            <%: item.hlpb_Schooljaar %>
        </td>
        <td>
            <%: item.hlpb_Ontvanger %>
        </td>
        <td>
            <%: item.SiteMap.Title %>
        </td>
    </tr>

<% } %>

我只能看到A,I或D.现在我想要显示用户,组织或全部

我如何在那里获得这个价值?我可能需要使用扩展,但我对Enum不太熟悉。一些建议将不胜感激。

修改

它有效,但它不是很漂亮:)我想把它放在帮助器中,但是如何......

        <td>
            <%: Enum.GetName(typeof(MVC2_NASTEST.Controllers.HelpBoxController.Ontvangers),(int)char.Parse(item.hlpb_Ontvanger.Trim())) %>
        </td>

2 个答案:

答案 0 :(得分:1)

试试这个:

Enum.GetName(typeof(Ontvangers), (int)'A');

答案 1 :(得分:1)

您可以从值获取枚举名称:

Enum.GetName(typeof(Ontvangers), (Ontvangers)'I')