C# 使用MVC和Razor的Dropdownlist

C# 使用MVC和Razor的Dropdownlist,c#,asp.net-mvc,C#,Asp.net Mvc,我已经搜索了好几天,找到并找出了这个问题的多方向下拉列表答案 我有下面的型号 public class Person() { public int Id { get; set; } public string Name { get; set; } public Gender Gender { get; set; } } 我尝试将性别设置为枚举、字符串、SelectListItem……(列表还在继续!) 在我的HTTPGET person razor视图中,我想添加一个新的人,

我已经搜索了好几天,找到并找出了这个问题的多方向下拉列表答案

我有下面的型号

public class Person()
{
   public int Id { get; set; }
   public string Name { get; set; }
   public Gender Gender { get; set; }
}
我尝试将性别设置为枚举、字符串、SelectListItem……(列表还在继续!)

在我的HTTPGET person razor视图中,我想添加一个新的人,并生成一个带有性别(男性、女性……)列表的下拉列表

当用户提交表单时,它会将此人传递到HTTPPOST Person视图,并附上更新的性别

我不介意性别是什么类型,只要它可以在控制器和视图之间双向发布


亲切问候

使用标准的
@Html.DropDownListFor(…)
帮助程序,这绝对是可能的

但是,在创建视图时,需要将枚举转换为
IEnumerable
,它才能工作。有关将枚举转换为正确类型的帮助器方法的示例,请参见

当您的代码中有这个hepler方法时,您可以执行以下操作:

Html.DropDownListFor(m => m.Gender , ListExtensions.ToSelectList(Model.Gender, m => m.Gender))