我有一个用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屏幕抓取中显示:
我以前多次使用过RedirectToAction
但成功但这次我很难过。谁能告诉我哪里出错了?
答案 0 :(得分:0)
卫生署!我一发布就可以看到我的错误。重定向到&#34; EditBatch&#34;来自Javascript -
success: function (data) {
window.location = BASE_URL + 'EditBatch/Index';
希望这能帮助别人像以后一样累,甚至可能是我 - 并不罕见!