我使用asp.net核心2新功能Razor页面。在_layout.cshtml中。
<body>
<div>
@await Html.PartialAsync("_LayoutHeader")
<div class="row">
<div>
<div class="row">
@RenderBody()
</div>
</div>
</div>
_layoutHeader.cshtml是包含代码的页面。
@page
@using Microsoft.AspNetCore.Identity
@model Yiko.Ent.WebRazorPages.Pages._LayoutHeaderModel
和@RenderBody将使用pagemodel加载index.cshtml。
@page
@model Yiko.Ent.WebRazorPages.Pages.Home.IndexModel
@{
ViewData["Title"] = "Home";
}
运行该项目。抛出错误:
InvalidOperationException:传递给ViewDataDictionary的模型项的类型为'Yiko.Ent.WebRazorPages.Pages.Home.IndexModel',但此ViewDataDictionary实例需要类型为'Yiko.Ent.WebRazorPages.Pages._LayoutHeaderModel'的模型项。 Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary.EnsureCompatible(对象值)
答案 0 :(得分:1)
您可以重定向到该页面,也可以将核心视图代码转换为部分代码并从两者中调用它。
页面不能替代部分或视图组件。