DropDownList视图模型

时间:2010-04-30 10:37:19

标签: asp.net-mvc

我正在尝试使用角色提供程序为GetAllRoles生成一个下拉列表。

我可以使用ViewData在控制器中生成下拉菜单,但我想使用View Model来生成下拉列表,但我不确定使用View Model创建列表的最佳方法?

public ActionResult GetAllRoles()
{
   ViewData["Roles"] = new SelectList(Roles.GetAllRoles());
   return View(); 
}

1 个答案:

答案 0 :(得分:1)

根据您的想法,

var allroles = new SelectList(Roles.GetAllRoles()); 
return View(allRoles);

创建一个类型为SelectList的强类型视图。

根据您最近的评论。

public SelectList GetAllRoles() { 
  var AllRoles = new SelectList(Roles.GetAllRoles()); 
  return AllRoles; 
} 

public class RoleViewModel {
  [Required]
  [DisplayName("AllRoles")]
  public SelectList AllRoles { get; set; }
}


public ActionResult GetAllRoles() 
{ 
   var roleViewModel = new RoleViewModel {
      AllRoles = GetAllRoles();
   };
   return View(roleViewModel);  
}