首页 > 解决方案 > Ajax.ActionLink 替代方案 - Net Core

问题描述

在MVC的早期,我用于@Ajax.ActionLinkAjax 调用并在我的布局中替换了容器。

现在在.Net Core中有类似AjaxHelper的东西。

如何在不为仪表板中的每个菜单项编写jquery脚本的情况下形成Ajax调用。

我尝试@Url.Action使用匿名Ajax参数,但这不起作用。

@Url.Action("Index", "User", new
{
  data_ajax = "true",
  data_ajax_method = "GET",
  data_ajax_mode = "replace",
  data_ajax_update = "#replace"
}))"

标签: c#ajaxasp.net-core

解决方案


不,老实说,你从来不需要它。它所做的只是创建一个常规链接,然后添加一些您可以轻松添加的 JavaScript。长与短,放手吧:

<a class="menu-item" asp-action="Index" asp-controller="User">Click Me</a>

然后:

<script>
    $('.menu-item').on('click', function (e) {
        e.preventDefault();
        $.get(this.href, function (html) {
            $('#replace').html(html);
        });
    });
</script>

通过绑定到类,任何与类的链接都只需要这一段 JS menu-item


推荐阅读