带路由的 Razor Pages 部分视图

lcs*_*des 2 asp.net-core-mvc asp.net-core razor-pages

我希望将 Razor 页面作为部分视图,但也能够将它们作为 HTML 片段单独获取,以便我可以使用 AJAX 更新它们。

如果我将 a 放在@page局部视图的顶部,它会被路由,但其模型对象将为null. 如果我删除@page,模型将有效,但我无法再单独获取部分视图。

如何让 cshtml 被路由同时拥有有效的模型?我使用的是 ASP.NET Core 2.1,不幸的是无法升级。

Chr*_*att 6

你不能。只需使用要共享的 HTML 创建一个部分视图,然后在 Razor 页面中调用该部分视图即可。然后,您可以在需要时直接使用部分视图。

_MyPartialView.cshtml

@model MyPartialViewModel

<div>Here's my HTML</div>
Run Code Online (Sandbox Code Playgroud)

我的页面.cshtml

@page MyPageModel

<partial name="_MyPartialView" model="Model.MyPartialViewModelInstance" />
Run Code Online (Sandbox Code Playgroud)