Ajax.ActionLink没有间歇性地击中POST控制器方法

时间:2015-02-02 20:36:57

标签: ajax asp.net-mvc

我遇到了一个奇怪的问题。我基本上有一个用于分页的Ajax.ActionLink

@Ajax.ActionLink(Model.PaginationText.ToString(), Model.ActionName, Model.RouteValues,
                new AjaxOptions
                {
                    InsertionMode = InsertionMode.InsertAfter,
                    UpdateTargetId = "ajax-append",
                    LoadingElementDuration = 1000,
                    OnBegin = "OnAjaxRequestBeginPaging",
                    OnFailure = "OnAjaxRequestFailure",
                    OnSuccess = "OnAjaxRequestSuccess",
                    OnComplete = "OnAjaxRequestComplete",
                    HttpMethod = "POST"
                }, new Dictionary<string, object>() {{"class", "btn btn-more js-only"}, {"id", "ajaxPaging"}})

在我的控制器方法中,我有两种GET和POST的索引方法

[HttpGet]
public ActionResult Index(NewsPage currentPage, int? pageNo)

[HttpPost]
public ActionResult Index(NewsPage currentPage, int pageNo, bool? isAjax)

这一切似乎都是正确的,但是当点击时,clink会间歇性地进入GET方法。

我已经调试了几个小时,但我似乎无法始终将代码发送到POST。

有没有人对此有任何想法?

谢谢

2 个答案:

答案 0 :(得分:0)

它似乎无法解析您的AjaxOptions,因此忽略了您的HttpMethod设置。尝试使用最少的AjaxOptions进行调试。

答案 1 :(得分:0)

我最终使用的是Ajax.Beginform而不是ActionLink,它似乎运行得更好。