2017-03-16 3 views
0

Ich bin in der Lage, meine Auswahlliste aufzubauen und in einem TagHelfer Select in einer Ansicht rendern. Aber ich kann die Standardauswahl nicht festlegen.Warum funktioniert der Parameter AspNetCore SelectList selectedValue nicht?

ich bauen meine Viewmodel und Select hier in einem AdminAccountController up:

public PartialViewResult CreateUser() 
    { 
     SelectList rolesList = new SelectList(_roleManager.Roles, "User"); 
     return PartialView("_CreateUser", new CreateUserViewModel 
     { 
      RolesList = rolesList 
     }); 
    } 

CreateUserViewModel wie folgt aussieht:

public class CreateUserViewModel 
{ 
    public string NameSource { get; set; } 
    [Required] 
    public string Name { get; set; } 
    [Required] 
    public string Email { get; set; } 
    [Required] 
    public string Password { get; set; } = "Password"; 

    public IdentityRole Role { get; set; } 

    public SelectList RolesList { get; set; } 
} 

Der Rolemanager von Konstruktor kommt. Und meine Ansicht verbraucht die Select hier:

<select asp-for="Role.Name" asp-items="Model.RolesList" 
     class="form form-control"> 
    </select> 

Mit dieser Linie in der Steuerung PartialViewResult AngelegtVon() Aktion:

SelectList rolesList = new SelectList(_roleManager.Roles, "User"); 

Sollte der zweite Parameter nicht, "User", das Standard Wählen Sie die Option ... "Benutzer"?

Es hat keine Wirkung. Wie kann ich das einstellen?

Antwort

0

Ich habe es:

SelectList rolesList = 
      new SelectList(_roleManager.Roles.OrderBy(r => r.Name), _roleManager.Roles.SingleOrDefault(s => s.Name == "User")); 
Verwandte Themen