【问题标题】:How can I use MVC partial views and layouts inRazor Pages如何在 Razor 页面中使用 MVC 部分视图和布局
【发布时间】:2020-12-14 07:48:48
【问题描述】:

这可能吗? 我的大部分网络应用程序都在 MVC 中。 但我将设置一个技术角,我只想转到简单的 Razor 页面,而不是设置复杂的端点以在 StartUp 中到达那里。

似乎页面会更好地组织简单的页面,例如:

articles/AspNetCore3 -- 列出相关文章

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

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

articles/Azure/Overview -- 这些类型的 URL 很简单 内容,但 Razor 页面已准备好在需要时添加功能

【问题讨论】:

    标签: .net asp.net-core-3.1 asp.net-core-razor-pages


    【解决方案1】:

    您可以使用@RenderPage("_MenubarPage.cshtml");

    您还可以使用@RenderPage("_MenuPage.cshtml", MyModel),它允许您通过将任何您喜欢的模型作为第二个参数提供给视图。

    如果您使用的是部分,您也可以使用@{Html.RenderPartial("_articles/AspNetCore3/WhatsNew");}。但别忘了,你需要用剃刀代码块@{}包装它

    文件路径可能会有所不同,具体取决于您从哪里渲染 Partial。

    关于使用 Layout 页面,您只需在 cshtml 页面顶部说明您想要的 Layout。下面的例子:

    @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 中的 事物。为了向后兼容,HTML 标记助手仍然存在。

    部分标签上的 Microsoft Docs 位于 here

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多