C# 从MVC2中的枚举获取单选按钮
我需要在MVC2应用程序中使用枚举来呈现单选按钮 有人能帮我解决这个问题吗C# 从MVC2中的枚举获取单选按钮,c#,asp.net-mvc,C#,Asp.net Mvc,我需要在MVC2应用程序中使用枚举来呈现单选按钮 有人能帮我解决这个问题吗 感谢分享您的智慧。您需要使用GetNames函数: <% foreach (string name in Enum.GetNames(typeof(EnumType))) { %> <input type="radio" value="<%=name %>" name="instanceName"/>
感谢分享您的智慧。您需要使用GetNames函数:
<% foreach (string name in Enum.GetNames(typeof(EnumType)))
{
%>
<input type="radio" value="<%=name %>" name="instanceName"/>
<%
} %>
然后在服务器端,您可以使用Enum.Parse函数将字符串解析回Enum
更新
Jace正确地指出,默认模型绑定器将为您将字符串映射到枚举。您需要使用GetNames函数:
<% foreach (string name in Enum.GetNames(typeof(EnumType)))
{
%>
<input type="radio" value="<%=name %>" name="instanceName"/>
<%
} %>
然后在服务器端,您可以使用Enum.Parse函数将字符串解析回Enum
更新
Jace说默认模型绑定器将为您将字符串映射到枚举是正确的。我认为您希望使用反射。获取枚举的所有成员,并为每个成员创建一个输入元素,但需要知道的是,下面的代码段使用反射列出枚举中的所有元素
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+"\"/>");
}
公共枚举JuiceTypes
{
苹果,
橙色
菠萝,
桃,
蜂蜜茶,
西红柿
}
string[]juiceTypes=Enum.GetNames(typeof(juiceTypes));
foreach(果汁中的串汁)
{
控制台。WriteLine(果汁);
//在MVC中,您需要使用Response.WriteLine(“我认为您需要使用反射。您获得枚举的所有成员,并为每个成员创建一个输入元素,但您需要知道的是,下面的代码段使用反射列出枚举中的所有元素
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+"\"/>");
}
公共枚举JuiceTypes
{
苹果,
橙色
菠萝,
桃,
蜂蜜茶,
西红柿
}
string[]juiceTypes=Enum.GetNames(typeof(juiceTypes));
foreach(果汁中的串汁)
{
控制台。WriteLine(果汁);
//在MVC中,您需要使用Response.WriteLine(“感谢Richard的快速回复。MVC中的默认模型绑定可以将值解析回Enum。您不需要在服务器上调用Enum.parse。感谢Richard的快速回复。MVC中的默认模型绑定可以将值解析回Enum。您不需要在服务器上调用Enum.parse。@linkerro:我不擅长MVC但我尝试使用RadioButton,但它仅适用于单个值,现在我尝试创建自己的扩展以使用enum绘制单选按钮。@LinkError:我不擅长MVC,但尝试使用RadioButton,但它仅适用于单个值,现在我尝试创建自己的扩展以使用enum绘制单选按钮。