J'ai un site Web ASP.Net MVC développé avec VS2015. J'ai un contrôleur appelé EditBatchController. Cela a eu une méthode "Resubmit" qui est postée à partir d'un appel Javascript Ajax.RedirectToAction rediriger au mauvais endroit
est ici l'appel:
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);
}
});
Et voici la signature de la méthode de soumettre à nouveau du contrôleur:
[HttpPost]
//Called by the Knockout View Model to update db
public void Resubmit(List<EditBatchViewModel>recs)
{
A la fin de cette méthode, je voudrais rediriger vers l'action « Index » d'un contrôleur différent, donc je ai ce qui suit:
RedirectToAction(actionName: "Index", controllerName: "APInvoicesSummaryController");
Mon problème est, sur l'exécution du est en ligne, une requête GET pour EditBatch/indice est émis plutôt que pour APInvoicesSummaryController/Index - ceci est affiché à l'écran Fiddler suivant grab:
Je l'ai utilisé RedirectToAction
plusieurs fois auparavant avec succès, mais cette fois-ci Je suis perplexe. Quelqu'un peut-il me dire où je me suis trompé?
Vous utiliserez également 'APInvoicesSummary', pas' APInvoicesSummaryController' pour controllerName. –