Razor 页面 - 是否可以路由到视图组件以进行 AJAX 刷新
Razor Pages - Is it possible to route to a View Component for AJAX refresh
上下文:
我想通过 JS 定期更新视图的一部分。
到目前为止我做了什么:
使用中提供的信息:
- 创建了一个封装我要刷新的区域的视图组件
- 已尝试创建到视图组件的自定义路由,如下所示
options.Conventions.AddPageRoute("/Components/ViewComponent/default", "FriendlyRouteAlias");
- 使用以下脚本尝试加载(更新的)视图组件并将值注入 div:
<script>
var container = $(".DataToUpdate");
var refreshComponent = function () {
$.get("Route/to/view/component", function (data) { container.html(data); });
};
$(function () { window.setInterval(refreshComponent, 1000); });
</script>
是否可以通过这种方式加载视图组件,或者我是否应该寻找另一种方法来完成此操作?
正如评论者所建议的那样,我能够通过直接对视图组件使用 MVC 控制器操作来使其工作 return。我要补充一点,我使用的是 MVC 控制器而不是 API 控制器,因为我处理的是视图而不是数据。 (参见 Difference between ApiController and Controller in ASP.NET MVC)
上下文:
我想通过 JS 定期更新视图的一部分。
到目前为止我做了什么:
使用中提供的信息:
- 创建了一个封装我要刷新的区域的视图组件
- 已尝试创建到视图组件的自定义路由,如下所示
options.Conventions.AddPageRoute("/Components/ViewComponent/default", "FriendlyRouteAlias");
- 使用以下脚本尝试加载(更新的)视图组件并将值注入 div:
<script>
var container = $(".DataToUpdate");
var refreshComponent = function () {
$.get("Route/to/view/component", function (data) { container.html(data); });
};
$(function () { window.setInterval(refreshComponent, 1000); });
</script>
是否可以通过这种方式加载视图组件,或者我是否应该寻找另一种方法来完成此操作?
正如评论者所建议的那样,我能够通过直接对视图组件使用 MVC 控制器操作来使其工作 return。我要补充一点,我使用的是 MVC 控制器而不是 API 控制器,因为我处理的是视图而不是数据。 (参见 Difference between ApiController and Controller in ASP.NET MVC)