从MVC2中的枚举中获取单选按钮

时间:2012-03-22 13:40:18

标签: c# asp.net-mvc

我需要在MVC2应用程序中使用枚举来渲染单选按钮。

任何人都可以帮我解决这个问题。

感谢分享你的智慧。

2 个答案:

答案 0 :(得分:5)

您需要使用GetNames函数:

<% foreach (string name in Enum.GetNames(typeof(EnumType)))
           {
               %>
                <input type="radio" value="<%=name %>" name="instanceName"/>
               <%

           } %>

然后在服务器端,您可以使用Enum.Parse函数将字符串解析回枚举。

更新

Jace评论默认模型绑定器会将字符串映射到您的枚举是正确的。

答案 1 :(得分:1)

我想你想用反射。您将获得枚举的所有成员,并为每个成员创建一个输入元素,但您需要知道的是,以下代码段使用反射来列出枚举中的所有元素。

    public enum JuiceTypes
    {
        Apple,
        Orange,
        Pineapple,
        Peach,
        HoneyTea,
        Tomato
    }

        string[] juiceTypes = Enum.GetNames(typeof(JuiceTypes));
        foreach (string juice in juiceTypes)
        {
            Console.WriteLine(juice); 
            //in MVC you need to use Response.WriteLine("<input type=\"radio\" value=\"+juice+"\"/>");
        }