首页 > 解决方案 > 将模型传递给 _Layout.cshtml(webapp 版本)

问题描述

我希望能够将模型传递给我的基本布局_layout.cshtml,就像在此示例中一样。问题是这个例子只对 MVC 框架有效,我使用没有 MVC 的剃须刀页面。

我看到我们可以在继承自PageModel的类中重写Page()方法,但我的印象是在视图创建时无法提供模型。

public class IndexModel : PageModel {
    public override PageResult Page() {
        return base.Page();  // how to pass a custom model?
    }
}

如果有人有任何想法或其他方式来做到这一点,我是一个接受者。谢谢 :)

标签: c#asp.net-core.net-corerazor

解决方案


您上面提到的示例是一个更简单、更整洁的解决方案。从架构的角度来看,它是可扩展的和可维护的。这是这样做的正确方法。它也被简单地描述了。我不知道你有什么问题。

顺便说一句,如果您使用的是 .NET Core,您还可以考虑在布局中使用依赖注入:

@inject UserManager<ApplicationUser> UserManager

推荐阅读