【发布时间】:2013-12-16 22:49:08
【问题描述】:
我有 Enum 类,我必须在 asp.net MVC4 中绑定下拉列表(使用 Razor 视图引擎)。我可以绑定下拉列表并可以在视图中显示。但我无法在编辑模式下显示所选项目。请任何人帮助我。我有以下代码
我的 ViewModel 类
public class UserViewModel
{
public string AccountId { get; set; }
[Required]
[Display(Name="First Name")]
public String FirstName { get; set; }
[Display(Name="Middle Name")]
public String MiddleName { get; set; }
[Required]
[Display(Name="Last Name")]
public String LastName { get; set; }
public String UserRoles { get; set; }
}
而枚举类是,
public enum UserType // Office User Types
{
Officer = 1,
Administrator = 2,
Recruiter = 3
}
我在我的控制器中使用以下代码,
Dictionary<string, string> rolename = Enum.GetValues(typeof(UserType))
.Cast<UserType>()
.Select(v => v.ToString())
.ToDictionary<string, string>(v => v.ToString());
ViewBag.Roles = rolename;
return View();
我的观点是,
@Html.DropDownListFor(model => model.UserRoles,new SelectList(ViewBag.Roles, "Key", "Value",Model.UserRoles.ToString()), new { id = "UserRoles" })
请帮助我我的错误是什么以及如何在编辑模式下在下拉列表中显示所选值。
【问题讨论】:
-
你的模型中的
UserRoles会不会是“Officer”、“Administrator”等,下拉的键是1、2、3等?
标签: asp.net-mvc c#-4.0