【问题标题】:Dropdownlist using MVC and Razor使用 MVC 和 Razor 的下拉列表
【发布时间】:2014-01-19 08:27:08
【问题描述】:

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

我有以下型号

public class Person()
{
   public int Id { get; set; }
   public string Name { get; set; }
   public Gender Gender { get; set; }
}

我尝试将 Gender 设为枚举、字符串、SelectListItem....(列表还在继续!)

在我的 HTTPGET person razor 视图中,我想添加一个新的 Person,生成一个包含性别列表的下拉列表(男性、女性......)

当用户提交表单时,它会将 Person 传递给 HTTPPOST Person 视图,并附加更新后的 Gender。

我不介意 Gender 是什么类型,只要它可以在控制器之间发布并以两种方式查看即可。

亲切的问候

【问题讨论】:

    标签: c# asp.net-mvc


    【解决方案1】:

    使用标准的 @Html.DropDownListFor(...) 助手绝对可以做到这一点。

    但是,在创建视图时,您需要将 Enum 转换为 IEnumerable<SelectListItem> 才能使其工作。有关将 Enum 转换为正确类型的帮助方法示例,请参阅 this answer

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-27
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      相关资源
      最近更新 更多