Jemes
Jemes

Reputation: 407

DropDownList View Model

I'm trying to produce a dropdownlist for GetAllRoles using the role provider.

I can produce the drop down in a controller using ViewData but I would like to use a View Model to produce the dropdown, but I'm unsure of the best way to create the list using a View Model?

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

Upvotes: 0

Views: 1068

Answers (1)

Raj Kaimal
Raj Kaimal

Reputation: 8304

Depending on how you want to do it,

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

Create a strongly typed view of type SelectList.

Based on your recent comment.

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);  
}

Upvotes: 1

Related Questions