通过 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:
- 布局页面将有类似 @Html.Partial("JobsListPartial") 的内容。
- 这个 "JobsListPartial" 会像 await @Component.InvokeAsync("JobsListViewComponent", pageNumber) 这样的东西。此部分视图还会将 ajax 脚本发送到客户端,供用户浏览页面。
- 在客户端,当用户尝试导航到不同的页面时,ajax 脚本会调用 JobsController 具有 api 之类的 IActionResult GetJobs(int pageNumber) 并且此操作 return 是一个 PartialViewResult 通过执行类似 return PartialView ("JobsListPartial",页码)。
仅在客户端呈现所有页面:
- 创建局部视图(包含您的 ajax 脚本)并呈现给客户端。
- 创建一个控制器,公开 api 以在可用职位页面中导航。
- 从 ajax 脚本中调用此 api(returns json)。
- 使用 json 数据在客户端动态更改 UI。
随着 ASP.NET 5 中的部分视图被视图组件替换,如何通过 URL 访问视图组件?
我知道你这样称呼他们...
@Component.Invoke("SomeList", 1)
...但是如果您需要像 ajax 这样的分页,您需要回调 url 来请求下一组显示在局部视图中怎么办?因此,用户可以单击 "Load More" 并从 'partial view'.
加载更多内容您不能直接从 URL 访问视图组件。视图组件只是视图的一个组件,该视图可以是常规视图或局部视图。
根据你的问题,我相信你试图在呈现视图(具有视图组件)时默认显示第一页?我试着把一些场景放在这里。
示例场景:
在布局页面上显示一个片段,其中显示可用职位列表。
使用案例:
在服务器端呈现与作业列表相关的 html:
- 布局页面将有类似 @Html.Partial("JobsListPartial") 的内容。
- 这个 "JobsListPartial" 会像 await @Component.InvokeAsync("JobsListViewComponent", pageNumber) 这样的东西。此部分视图还会将 ajax 脚本发送到客户端,供用户浏览页面。
- 在客户端,当用户尝试导航到不同的页面时,ajax 脚本会调用 JobsController 具有 api 之类的 IActionResult GetJobs(int pageNumber) 并且此操作 return 是一个 PartialViewResult 通过执行类似 return PartialView ("JobsListPartial",页码)。
仅在客户端呈现所有页面:
- 创建局部视图(包含您的 ajax 脚本)并呈现给客户端。
- 创建一个控制器,公开 api 以在可用职位页面中导航。
- 从 ajax 脚本中调用此 api(returns json)。
- 使用 json 数据在客户端动态更改 UI。