ASP.NET 5 MVC6中的@ Ajax.ActionLink

zoa*_*oaz 10 asp.net-core-mvc asp.net-core

我正在使用ASP.NET 5 RC1.

什么是相当ASP.NET 5 MVC 6@Ajax.ActionLink

例:

@Ajax.ActionLink("Show", 
             "Show", 
             null, 
             new AjaxOptions { HttpMethod = "GET", 
             InsertionMode = InsertionMode.Replace, 
             UpdateTargetId = "dialog_window_id", 
             OnComplete = "your_js_function();" })
Run Code Online (Sandbox Code Playgroud)

用于ASP.NET 4 MVC 5.

我明白了:

当前上下文中不存在名称"Ajax".

ASP.NET 5

更新:

我明白它不会被实施.是否有人可以为我提供taghelper代码示例替代方案?

Max*_*ler 5

说明

我会在这里说一句话,说那时候它不是帮助者.

这是一个组件.它不仅仅是HTML,还包括JavaScript.一旦将JavaScript绑定到组件,您使用的是哪个框架?你使用的是纯JavaScript吗?

如果此组件与纯JavaScript(无jQuery)绑定,则需要针对每个浏览器的所有当前,之前和未来版本进行更新/测试.

而这就是为什么我认为它只是被构建为一个组件而不是构建到框架本身.

太多的移动件,对客户端可以改变的框架/软件的依赖性过多.

至于解决方案,我的建议是使用jQuery或类似的东西.

HTML

<a class="ajaxLink" href="#" data-href="/Project" data-method="DELETE">Delete Project</a>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

$(document).ready(function() {
    $("a.ajaxLink").on('click', function (){
        var self = this;
        $.ajax({
            type: $(this).attr('data-method'),
            url: $(this).attr('data-href')
        }).then(function() {
            // success callback
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

如您所见,这可以很容易地成为一个简单的客户端解决方案,而不是服务器端解决方案.

我希望这能回答你的问题并解决你的问题.


one*_*com 4

您可以使用带有 data_ajax 参数的常规 html 帮助器,如下所示:

@Html.ActionLink("Link title", "Action", "Controller", null, new
{
   data_ajax = "true",
   data_ajax_method = "GET",
   data_ajax_mode = "replace",
   data_ajax_update = "#update-container"
})
Run Code Online (Sandbox Code Playgroud)