如何解决如何在Razor页面中使用MVC部分视图和布局
这可能吗? 我在MVC中拥有大部分的Web应用程序。 但是我将要建立一个技术角,我只想转到简单的Razor页面,而不是设置复杂的终结点以在StartUp中到达那里。
看起来像页面会更好地组织简单的页面,例如:
articles / AspNetCore3-列出相关文章
articles / AspNetCore3 / WhatsNew-在此处设置文章
articles / AspNetCore3 / Blazor-在此处讨论这项新技术
articles / Azure / Overview-这些类型的URL简单 内容,但Razor Page准备在需要时添加功能
解决方法
您可以使用@RenderPage("_MenubarPage.cshtml");
。
您还可以使用@RenderPage("_MenuPage.cshtml",MyModel)
,它可以通过将其作为第二个参数添加到视图中,从而提供所需的任何模型。
如果您使用的是局部语言,也可以使用@{Html.RenderPartial("_articles/AspNetCore3/WhatsNew");}
。但不要忘记,您需要使用剃须刀代码块@{}
文件路径可能会有所不同,具体取决于您从何处渲染“部分”。
关于使用“布局”页面,您只需在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 。为了向后兼容,HTML Tag帮助器仍然存在。
部分标签上的Microsoft文档位于here
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。