Request.IsAjaxRequest gibt false zurück
Ich habe ein MVC-Projekt, in dem ich ein Formular mit einem Senden-Button habe. Ich habe einen clientseitigen jquery-Handler hinzugefügt, der das Formularsendeereignis abfängt. Die Javascript-Funktion ruft dieselbe MVC-Aktion auf, die ohne das Javascript aufgerufen worden wäre.
$("form[action ='/List/CreateItem']").submit(
function() {
$.post($(this).attr("action"), $(this).serialize(), function(response) { $("#results").html(response); });
return false;
}
);
In der aufgerufenen MVC-Aktion teste ich Request.IsAjaxRequest, um zu entscheiden, ob eine Ansicht oder ein JSON-Ergebnis zurückgegeben werden soll. Mein Problem ist, dass Request.IsAjaxRequest false zurückgibt, obwohl ich weiß, dass der Aufruf über die Funktion jquery erfolgt. (Ich weiß das, weil, wenn ich die $ .post-Zeile in der jquery-Funktion auskommentiere und einfach die return false-Zeile lasse, nichts passiert. Wenn ich die Zeile auskommentiere, wird die Aktion ausgeführt - aber sie gibt die Ansicht zurück, weil IsAjaxRequest ist falsch.)
Sollte diese Zeile bewirken, dass Request.IsAjaxRequest wahr ist?