2017-03-16 68 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'; 

希望這有助於其他人一樣累,因爲我在未來,甚至可能是我 - 並不少見!