通过 URL 访问 ASP.NET 5 查看组件

Access ASP.NET 5 View Component via URL

随着 ASP.NET 5 中的部分视图被视图组件替换,如何通过 URL 访问视图组件?

我知道你这样称呼他们...

@Component.Invoke("SomeList", 1)

...但是如果您需要像 ajax 这样的分页,您需要回调 url 来请求下一组显示在局部视图中怎么办?因此,用户可以单击 "Load More" 并从 'partial view'.

加载更多内容

您不能直接从 URL 访问视图组件。视图组件只是视图的一个组件,该视图可以是常规视图或局部视图。

根据你的问题,我相信你试图在呈现视图(具有视图组件)时默认显示第一页?我试着把一些场景放在这里。

示例场景:
在布局页面上显示一个片段,其中显示可用职位列表。

使用案例:

  • 在服务器端呈现与作业列表相关的 html:

    1. 布局页面将有类似 @Html.Partial("JobsListPartial") 的内容。
    2. 这个 "JobsListPartial" 会像 await @Component.InvokeAsync("JobsListViewComponent", pageNumber) 这样的东西。此部分视图还会将 ajax 脚本发送到客户端,供用户浏览页面。
    3. 在客户端,当用户尝试导航到不同的页面时,ajax 脚本会调用 JobsController 具有 api 之类的 IActionResult GetJobs(int pageNumber) 并且此操作 return 是一个 PartialViewResult 通过执行类似 return PartialView ("JobsListPartial",页码)
  • 仅在客户端呈现所有页面:

    1. 创建局部视图(包含您的 ajax 脚本)并呈现给客户端。
    2. 创建一个控制器,公开 api 以在可用职位页面中导航。
    3. 从 ajax 脚本中调用此 api(returns json)。
    4. 使用 json 数据在客户端动态更改 UI。