小编Pha*_*m98的帖子

使用MVC中的自定义方法填充@ Html.DropDownListFor()

好的,这是我的问题.我试图填充@Html.DropDownListFor()我的角色减去Admin角色.这很好用,但它显示了所有角色:

@Html.DropDownListFor(m => m.RoleName, new SelectList(Roles.GetAllRoles()))
Run Code Online (Sandbox Code Playgroud)

然而,这显示了所有角色,包括Adminroll.

所以我UserHelper.cs用这个方法创建了另一个类,基本上是这样的Roles.GetAllRoles():

public string[] GetUserRoles()
    {
        string[] userroles = null;
        using (MainVeinDataDataContext conn = new MainVeinDataDataContext())
        {
            userroles = (from r in conn.Roles
                         where r.Rolename != "Admin"
                         select r.Rolename).ToArray();
        }
        return userroles;
    }
Run Code Online (Sandbox Code Playgroud)

但是,作为MVC的新手,我不知道如何将此方法公开给视图中的DropDownList.所以无论我尝试什么,这都行不通:

@Html.DropDownListFor(m => m.RoleName, new SelectList(GetUserRoles()))
Run Code Online (Sandbox Code Playgroud)

我不确定我错过了什么,这让我发疯.希望那里有人知道我错过了什么.

selectlist roleprovider html.dropdownlistfor asp.net-mvc-3

1
推荐指数
1
解决办法
5999
查看次数