在 View with Identity 中显示所有角色

Show all roles in View with Identity

我正在尝试显示数据库中存在的所有角色。所以在我的控制器中我得到了这个:

        public ActionResult RoleIndex()
    {
        foreach (string role in Roles.GetAllRoles().ToList())
        {
            System.Diagnostics.Debug.WriteLine(role);
            Console.Write(role);
        }
        return View();
    }

把所有的角色都展示出来了,挺好的。但是现在我想在视图中显示这个,我该怎么做?查看包,查看数据?什么是最好的,因为我无法访问角色模型。

谢谢你的进步,抱歉我的英语不好=/

PokeRstarr

最好使用 View Model 而不是 ViewBag。 很好的例子是 here.

创建视图模型class:

public class RoleIndexViewModel
{
    public List<string> Roles { get; set; }
}

然后在您的控制器中填充此 class 的 Roles 属性 并 return 它到您的视图:

public ActionResult RoleIndex()
{
    var model = new RoleIndexViewModel { Roles = Roles.GetAllRoles().ToList() };
    return View( model );
}

在你看来,公开传递的模型并打印出来:

@model Namespace.RoleIndexViewModel
@{
    ViewBag.Title = "Roles";
}

@foreach(var role in Model.Roles)
{
    @role <br />
}

在 ViewData 中存储您的角色

ViewData["roles"] = [String[]] Roles.GetAllRoles();
return View("myView");

在您看来

<% foreach (string role in (string[] ViewData["roles"]) %>
<li><% role %>