Ошибки во всех трех местах :)
1. В форме добавить аттрибут name для контрола
<input id="fileInput" name="fileInput" type="file" />
2. Код в контроллере
[HttpPost]
public ActionResult AddImage()
{
HttpPostedFileBase image = Request.Files["fileInput"];
if (image != null && image.ContentLength > 0 && !string.IsNullOrEmpty(image.FileName))
{
string fileName = image.FileName;
image.SaveAs(Path.Combine(Server.MapPath("Images"), fileName));
}
return View("Index");
}
3. В принципе без cкрипта можно и обойтись, все отправится и так, по нажатию на кнопку. Но если уж используется jQuery то вполне достаточно следующего:
$(document).ready(function () {
$('#btnFileUpload').click(function() {
$('#fileUpload').submit(function(event) {
// обработка событий по отправке формы
});
});
});