asp.net-core - 带有路由的 Razor Pages 局部 View

标签 asp.net-core asp.net-core-mvc razor-pages

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

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

如何让 cshtml 被路由并且同时拥有一个有效的模型?我使用的是 ASP.NET Core 2.1,很遗憾无法升级。

最佳答案

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

_MyPartialView.cshtml

@model MyPartialViewModel

<div>Here's my HTML</div>

MyPage.cshtml

@page MyPageModel

<partial name="_MyPartialView" model="Model.MyPartialViewModelInstance" />

关于asp.net-core - 带有路由的 Razor Pages 局部 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55008253/

相关文章:

c# - Odata $expand 不适用于特定查询

c# - asp.net Core mvc隐藏和排除Web Api Controller 方法

c# - ASP.NET Core 6 MVC 中的本地化模型数据注释

c# - Azure Web API 访问 : Which URL should I use, Web 服务 URL 或网关 URL?

asp.net-ajax - Razor Pages AJAX url id 参数

c# - HttpClientFactory BadRequest?

asp.net-core - 为什么我收到错误 : The tag helper 'body' must not have C# in the element's attribute declaration area

c# - 在 ASP.NET Core 中覆盖 User.IsInRole

asp.net-core-mvc - 如何在启动时初始化应用程序状态并从 MVC 6 中的 Controller 访问它?

c# - 模拟 Razor Pages 单元测试的 User ClaimsPrincipal