2009-06-16 36 views
0

Ich habe ein Formular alle Einstellungen zum Hochladen einer Datei und das funktioniert gut. Die Art und Weise, wie mein Formular übermittelt wird, erfolgt jedoch über AJAX. Die Schaltfläche, die übermittelt wird, ist immer noch ein type = "submit", falls JS ausgeschaltet ist.ASP.Net MVC Umschalten IsAjaxRequest Eigenschaft basierend auf Dateiupload?

Wenn ich mein Formular speichere, stellt der Controller fest, ob IsAjaxRequest wahr ist, und wenn dies der Fall ist, gibt es JSON zurück, andernfalls wird RedirectToAction ausgeführt.

Wenn ich keinen Dateipfad in meinem Eingabe-Typ = "Datei" angeben, wird IsAjaxRequest als wahr betrachtet. Wenn ein Dateipfad festgelegt ist, wird angenommen, dass IsAjaxRequest false ist. Wie bestimmt es das?

Mein anderes Problem ist, dass, wenn es denkt, IsAjaxRequest ist falsch und eine RedirectToAction ("Index") Ich werde nicht tatsächlich an die Indexansicht gesendet.

Dank

Antwort

0

Vielleicht ist das Problem in den IsAjaxRequest() nicht? - Es sucht einfach nach ["X-Requested-With"] == "XMLHttpRequest" in der eingehenden Anfrage. Betrachten Sie Mvc\AjaxRequestExtensions.cs:

+0

Wie, wenn der Dateipfad festgelegt ist, ist die Anfrage irgendwie nicht mit X-Requested-With? Ich denke, es könnte etwas mit der AJAX zu tun haben, die ich benutze http://malsup.com/jquery/form/ – Jon

Verwandte Themen