2017-03-16 72 views
0

我有一个用VS2015开发的ASP.Net MVC网站。我有一个名为EditBatchController的控制器。这有一个“重新提交”方法,通过Javascript Ajax调用发布。RedirectToAction重定向到错误的地方

这里的电话:

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) 
{ 

在这个方法的最后,我想重定向到“索引”行动不同的控制器,所以我有以下内容:

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

我的问题是,在执行th是线,用于EditBatch /指数GET请求被发出,而不是APInvoicesSummaryController /索引 - 这是显示在下面的提琴手屏幕抓取:

fiddler

我用以前RedirectToAction多次与成功,但这一次我很难过。任何人都可以告诉我我错了哪里?

+1

你也可以使用'APInvoicesSummary',而不是'APInvoicesSummaryController'作为controllerName。 –

回答

0

Doh!只要我发布,我就可以看到我的错误。重定向到“EditBatch”从未来的Javascript -

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

希望这有助于其他人一样累,因为我在未来,甚至可能是我 - 并不少见!