Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC5 Razor,显示相关的表值_C#_Entity Framework_Razor_Asp.net Mvc 5 - Fatal编程技术网

C# MVC5 Razor,显示相关的表值

C# MVC5 Razor,显示相关的表值,c#,entity-framework,razor,asp.net-mvc-5,C#,Entity Framework,Razor,Asp.net Mvc 5,我正在使用AdminPortal,我有一个数据库设置: User 1:N UserRole N:1 Role 1:N RolePage N:1 Page 因此,用户通过UserRole表连接到角色,角色通过RolePage表连接到特定页面 我使用MVC5和实体框架来制作模型和控制器 在我的UsersController中,我希望详细信息也显示角色,但它目前没有显示。从这里,应该可以选择编辑,然后为特定用户添加/删除角色 当我尝试使用现有的user.UserRoles时,例如: @Html.Di

我正在使用AdminPortal,我有一个数据库设置:

User 1:N UserRole N:1 Role 1:N RolePage N:1 Page
因此,用户通过UserRole表连接到角色,角色通过RolePage表连接到特定页面

我使用MVC5和实体框架来制作模型和控制器

在我的UsersController中,我希望详细信息也显示角色,但它目前没有显示。从这里,应该可以选择编辑,然后为特定用户添加/删除角色

当我尝试使用现有的user.UserRoles时,例如:

@Html.DisplayNameFor(model => model.UserRoles)
我得到的输出是:

System.Data.Entity.DynamicProxies.Role_2928XXXXXXXXXXXXX
我想看看分配给他们的角色列表(如管理员、销售人员等),最好的方法是什么

以下是我的控制器的详细信息部分:

// GET: Users/Details/5
public ActionResult Details(int? id)
{
    if (id == null)
    {
        return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
    }
    User user = db.Users.Find(id);
    if (user == null)
    {
        return HttpNotFound();
    }
    return View(user);
}

使用
UserManager.GetRoles
将返回用户的所有角色

ViewBag.RolesForThisUser = UserManager.GetRoles(user.Id);

使用
UserManager.GetRoles
将返回用户的所有角色

ViewBag.RolesForThisUser = UserManager.GetRoles(user.Id);

我在类似的帖子上找到了答案:


基本上,我必须创建一个视图模型,其中包含我的每个模型的实例,从那里我可以在一个视图中获得我需要的所有信息。

我在类似的帖子中找到了答案:


基本上,我必须创建一个视图模型,其中包含每个模型的实例,从中我可以在一个视图中获得所需的所有信息。

局部视图如何?急切地加载您将要使用的属性,并使用显示/编辑器模板。好的,我可以通过在Details.cshtml页面上执行foreach循环来显示我的角色。现在很好用。现在,我的下一步是创建一个页面,允许直接从此页面添加/删除角色。有什么想法吗?局部视图如何?急切地加载您将要使用的属性,并使用显示/编辑器模板。好的,我能够通过在Details.cshtml页面上执行foreach循环来显示我的角色。现在很好用。现在,我的下一步是创建一个页面,允许直接从此页面添加/删除角色。有什么想法吗?