我可以在不添加到每个视图模型的情况下在整个网站上显示用户特定数据吗

本文关键字:用户 显示 网站 数据 添加 视图 我可以 模型 情况下 | 更新日期: 2023-09-27 18:25:38

我有一个站点(MVC5),它有一个作为标头的分部。此标题显示用户名和他们所代表的组织的徽标。

每个页面还有一个特定于页面数据的ViewModel。

有没有任何方法可以让这个Partial从后台的公共模型/对象在每页上渲染,或者我需要将我的"userheader"视图模型添加到每页的视图模型中?

我可以在不添加到每个视图模型的情况下在整个网站上显示用户特定数据吗

您可以通过ChildActionOnly完成您的需求,比如说-

[ChildActionOnly]
public ActionResult LoggedIn()
{
    // create your User View Model and pass it to Login Partial View
    return PartialView("_LoginPartial", user);
}

现在创建一个带有字符串类型模型的部分视图,该模型是您从上面的控制器操作返回的。

在你的布局中,你可以得到如下所示的局部视图-

@Html.Action("LoggedIn", "ControllerName")

这样,就不需要在不同的视图中包含相同的模型。