为什么AspNetCore SelectList selectedValue参数不起作用?

时间:2017-03-16 00:21:39

标签: asp.net-core-mvc tag-helpers

我可以构建我的选择列表并在视图中的Select taghelper中呈现它。 但我无法设置默认选择。

我在AdminAccountController中构建我的ViewModel和SelectList:

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

不应该是第二个参数,&#34;用户&#34;,将默认选择选项设置为...&#34;用户&#34;?

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

1 个答案:

答案 0 :(得分:0)

我明白了:

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