剃刀页面-是否可以路由到视图组件以进行AJAX刷新

时间:2019-03-22 03:16:47

标签: asp.net-core razor-pages asp.net-core-viewcomponent

上下文:

我有一部分要通过JS更新的视图。

我到目前为止所做的事情:

使用Viewcomponent alternative for ajax refresh

中提供的信息
  • 创建了一个视图组件,该组件封装了我要刷新的区域
  • 尝试如下创建指向视图组件的自定义路由

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>

是否甚至可以通过这种方式加载View组件?或者我应该在寻找另一种方式来实现此目的?

1 个答案:

答案 0 :(得分:1)

正如评论者所建议的,我能够通过使用MVC控制器动作直接返回视图组件来使其工作。我还要补充一点,因为我在处理视图而不是数据,所以我使用了MVC控制器而不是API控制器。 (请参阅Difference between ApiController and Controller in ASP.NET MVC