2017-03-16 59 views
0

我能够建立我的选择列表并将其呈现在视图中的Select taghelper中。 但我无法设置默认选择。为什么AspNetCore SelectList的selectedValue参数不起作用?

我在这里建立我的ViewModel和的SelectList在AdminAccountController:

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

CreateUserViewModel看起来是这样的:

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

的RoleManager从构造函数来了。 而且我认为在这里消费了的SelectList:

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

这一行控制器PartialViewResult CREATEUSER() 动作:

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

不应该第二个参数, “用户”,设置默认选择选项以...“用户”?

它没有效果。我该如何设置?

回答

0

我懂了:

SelectList rolesList = 
      new SelectList(_roleManager.Roles.OrderBy(r => r.Name), _roleManager.Roles.SingleOrDefault(s => s.Name == "User")); 
相关问题