我试图显示数据库中存在的所有角色。所以在我的控制器中我得到了这个:
public ActionResult RoleIndex()
{
foreach (string role in Roles.GetAllRoles().ToList())
{
System.Diagnostics.Debug.WriteLine(role);
Console.Write(role);
}
return View();
}
它显示了所有角色,因此它很好。但是现在我想在视图中显示这个,我该怎么做? ViewBag,ViewData?什么是最好的,因为我无法访问角色模型。
感谢pervence并抱歉我的英语= /
PokeRstarr
答案 0 :(得分:1)
创建一个ViewModel类:
public class RoleIndexViewModel
{
public List<string> Roles { get; set; }
}
然后在控制器中填充此类的Roles
属性并将其返回到您的视图:
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 />
}
答案 1 :(得分:0)
使用View Model而不是ViewBag是一种很好的做法。 好的例子是here。
答案 2 :(得分:-1)
将您的角色存储在ViewData中
ViewData["roles"] = [String[]] Roles.GetAllRoles();
return View("myView");
在您的视图中
<% foreach (string role in (string[] ViewData["roles"]) %>
<li><% role %>