如何从 ASP.NET MVC 中的枚举创建下拉列表? [复制]
Posted
技术标签:
【中文标题】如何从 ASP.NET MVC 中的枚举创建下拉列表? [复制]【英文标题】:How to create a dropdownlist from an enum in ASP.NET MVC? [duplicate] 【发布时间】:2016-08-22 05:15:43 【问题描述】:我正在尝试使用 html.DropDownList 扩展方法,但不知道如何将它与枚举一起使用。
我的课:
namespace Support_A_Tree.Models
public enum Countries
Belgium,
Netherlands,
France,
United_Kingdom,
Other
[MetadataType(typeof(SupporterMetaData))]
public partial class Person
public string Name get; set;
public Countries Country get; set;
public List<SelectListItem> allCountries()
List<SelectListItem> choices = new List<SelectListItem>();
foreach (String c in Enum.GetValues(typeof(Countries)))
choices.Add(new SelectListItem() Text = c , Value = bool.TrueString );
return choices;
public class SupporterMetaData
public string Name get; set;
[Required]
public Countries Country get; set;
在我的视图中,我试图获取所有国家/地区,但似乎我做错了。
@using (Html.BeginForm())
<div>
<p style = "color: red;">@ViewBag.Message</p>
</div>
<div>
<h2> You want to ... </h2>
<p>Plant trees</p>
@Html.CheckBoxSimple("support", new @value = "Plant trees" )
<p>Support us financial</p>
@Html.CheckBoxSimple("support", new @value = "Support financial" )
</div>
<input type="submit" value="Continue ">
【问题讨论】:
使用@Html.EnumDropDownListFor
***.com/questions/17280906/…
【参考方案1】:
在你看来你可以使用SelectExtensions.EnumDropDownListFor:
例如:
@Html.EnumDropDownListFor(model => model.Countries)
假设视图的@model
有一个名为Countries
的属性,它是一个enum
类型。
如果您想在下拉菜单中显示默认文本(例如:“选择国家/地区”)。看看下面的问题和答案。
Html.EnumDropdownListFor: Showing a default text
【讨论】:
以上是关于如何从 ASP.NET MVC 中的枚举创建下拉列表? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中为枚举值添加描述以与 ASP.NET MVC 中的下拉列表一起使用? [复制]
如何从现有 SQL DB ASP.Net MVC 4 在下拉列表中填充数据
用枚举填充 ASP.NET MVC 中的 SelectList [重复]