如何在 Razor Pages 中使用 MVC 部分视图和布局?

问题描述 投票:0回答:1

这可以做到吗?我的大部分网络应用程序都在 MVC 中。

但我将建立一个技术角,我只想转到简单的 Razor 页面,而不是设置复杂的端点以在 StartUp 中到达那里。

似乎页面更适合组织简单的页面,例如:

articles/AspNetCore3 -- 列出相关文章

articles/AspNetCore3/WhatsNew -- 在此处设置文章

articles/AspNetCore3/Blazor -- 在这里讨论这项新技术

articles/Azure/Overview——这些类型的 URL 具有简单的 内容,但 Razor Page 已准备好根据需要添加功能

asp.net-core asp.net-core-mvc razor-pages asp.net-core-3.1
1个回答
1
投票

您可以使用

@RenderPage("_MenubarPage.cshtml");

您还可以使用

@RenderPage("_MenuPage.cshtml", MyModel)
,它允许您通过将其作为第二个参数包含在视图中来提供您喜欢的任何模型。

如果您使用的是部分,也可以使用

@{Html.RenderPartial("_articles/AspNetCore3/WhatsNew");}
。但别忘了你需要用razor代码块包裹它
@{}

文件路径可能会有所不同,具体取决于渲染局部的位置。

关于使用布局页面,您只需在 cshtml 页面顶部声明您想要的布局即可。下面的例子:

@page
@model Project.Pages.ProjectModel
@{
    ViewData["Title"] = "Test Page";
    Layout = "~/Pages/Shared/_Layout.cshtml";
}

您还可以使用

<partial>
标签在 .NETCore 3.1 中渲染部分内容。下面的例子:

<partial name="Shared/_ProductPartial.cshtml" for="Product">

标签助手是 .NET Core 中的 new thing。为了向后兼容,HTML 标签助手仍然存在。

有关部分标签的 Microsoft 文档位于 此处

© www.soinside.com 2019 - 2024. All rights reserved.