我有 2 个布局页面,一个是主布局。这具有基本布局,无论用户是否登录,我的所有页面都将使用该布局。另一种是我所说的授权布局,它是登录到应用程序的用户的布局视图。授权布局视图呈现在主布局的主体中,我所有需要用户登录的页面都呈现在授权布局的主体中。
现在我的问题是如何在子布局(例如主页)(用于登录用户)中使用主布局中的渲染部分,我现在无法使用,因为主布局不是孩子的直接主人视图,它是授权布局的主人,这是子视图的布局。
顺便说一句,这一切都在 .NET CORE 中
我有 2 个布局页面,一个是主布局。这具有基本布局,无论用户是否登录,我的所有页面都将使用该布局。另一种是我所说的授权布局,它是登录到应用程序的用户的布局视图。授权布局视图呈现在主布局的主体中,我所有需要用户登录的页面都呈现在授权布局的主体中。
现在我的问题是如何在子布局(例如主页)(用于登录用户)中使用主布局中的渲染部分,我现在无法使用,因为主布局不是孩子的直接主人视图,它是授权布局的主人,这是子视图的布局。
顺便说一句,这一切都在 .NET CORE 中
您是否正在寻找以下方面的内容:
// Master.cshtml
@RenderBody()
// AuthorizedLayout.cshtml
@{
Layout = "Master";
}
@RenderBody()
// AuthorizedPage.cshtml
@{
Layout = "AuthorizedLayout";
}
...
我认为您不能在布局中进行布局渲染。但是,一种可能对您有效的替代方法如下:
创建两种布局,一种用于非授权访问者,一种用于授权访问者。对于两个布局的所有方面都相同,创建视图组件。然后在两个布局上使用这些视图组件。这样所有常见的 html 和逻辑都在一个地方。
然后,您可以根据访问者是否经过身份验证来选择要用于视图的正确布局。
我对我的网站工作使用了非常相似的方法。