RedirectToAction重定向到错误的位置

时间:2017-03-16 19:03:08

标签: asp.net-mvc fiddler

我有一个用VS2015开发的ASP.Net MVC网站。我有一个名为EditBatchController的控制器。这有一个"重新提交"从Javascript Ajax调用发布的方法。

这是电话:

self.resubmit = function () {
    var data = { Recs: ko.toJS(this.recs) };

    $.ajax({
        type: "POST",
        url: BASE_URL + 'EditBatch/Resubmit',
        data: ko.toJSON(data),
        contentType: 'application/json',
        async: true,
        success: function (data) {
            window.location = BASE_URL + 'EditBatch/Index';
        },
        error: function (data) {
            toastrs(false);
        }
    });

这是控制器重新提交方法的签名:

[HttpPost]
//Called by the Knockout View Model to update db
public void Resubmit(List<EditBatchViewModel>recs)
{

在此方法结束时,我想重定向到&#34;索引&#34;不同控制器的动作,所以我有以下几点:

RedirectToAction(actionName: "Index", controllerName: "APInvoicesSummaryController");

我的问题是,在执行此行时,会发出EditBatch / Index的GET请求而不是APInvoicesSummaryController / Index - 这将在以下Fiddler屏幕抓取中显示:

fiddler

我以前多次使用过RedirectToAction但成功但这次我很难过。谁能告诉我哪里出错了?

1 个答案:

答案 0 :(得分:0)

卫生署!我一发布就可以看到我的错误。重定向到&#34; EditBatch&#34;来自Javascript -

success: function (data) {
                window.location = BASE_URL + 'EditBatch/Index';

希望这能帮助别人像以后一样累,甚至可能是我 - 并不罕见!