【发布时间】:2017-03-16 19:03:07
【问题描述】:
我有一个用 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)
{
在这个方法结束时,我想重定向到不同控制器的“索引”动作,所以我有以下内容:
RedirectToAction(actionName: "Index", controllerName: "APInvoicesSummaryController");
我的问题是,在执行此行时,发出了对 EditBatch/Index 的 GET 请求,而不是 APInvoicesSummaryController/Index - 这显示在以下 Fiddler 屏幕抓取中:
我之前多次成功使用RedirectToAction,但这次我被难住了。谁能告诉我哪里出错了?
【问题讨论】:
-
你也可以使用
APInvoicesSummary,而不是APInvoicesSummaryController作为controllerName。
标签: asp.net-mvc fiddler