Null-Parameter mit Ajax.BeginForm iso Html.BeginForm
Ich habe eine Controller-Methode, die einen Datei-Upload verarbeitet:
AcceptVerbs(HttpVerbs.Post)]
public ActionResult FileUpload(int id, HttpPostedFileBase uploadFile)
{
if (uploadFile != null && uploadFile.ContentLength > 0 && ...)
...
}
Wenn ich Html.BeginForm verwende, funktioniert alles einwandfrei. Das Ersetzen von Html.BeginForm durch Ajax.BeginForm führt zu einem Nullwert für uploadFile (de 2. Parameter der obigen Methode):
<div id="ajaxDocumentUpload">
@{ using (Ajax.BeginForm("FileUpload", "ProjectDocument", FormMethod.Post,
new AjaxOptions { OnSuccess = "UploadSuccess" },
new { enctype = "multipart/form-data" }))
{
<div>
<input type=file accept="image/gif, image/jpeg" name="uploadFile">
</div>
<div>
<input type="hidden" name="id" id="id" value="@Model.ProjectId"/>
</div>
<input id=btnUpdateAttachment type=submit value="Upload">
}
}
</div>
Irgendeine Idee was falsch ist? Vielen Dank im Voraus für jede Hilfe!