Carga de archivos usando MVC 4 con Ajax

Estoy desarrollando aplicaciones web usando MVC 4 + VS 2012 + Framework 4.5.

Tengo tres vistas parciales, que se representan dinámicamente, en mi página de índice en función de la acción del usuario.

De tres vistas parciales, una vista parcial tiene la funcionalidad Upload File con algunos campos de entrada como cuadros de texto.

Problema:

Cuando el usuario hace clic en el botón Guardar (que está presente en la vista parcial). Quiero guardar el campo de entrada en mi base de datos y el archivo almacenado cargado en la carpeta compartida.

Quiero implementar esto usando Ajax (Después de cargar el archivo y guardar datos, el usuario debe estar en la misma vista).

¿Cómo puedo implementar lo mismo? La solución de JQuery estaría bien.

Lo he intentado con @Ajax.BeginForm pero después de cargar el archivo, la publicación completa vuelve a suceder.

Aquí está mi pequeña muestra de trabajo, que carga múltiples archivos y carga en una carpeta llamada ‘basura’

Lado del cliente….

    Upload Example           

Lado del servidor....

 public class HomeController : Controller { [HttpPost] public void Upload( ) { for( int i = 0 ; i < Request.Files.Count ; i++ ) { var file = Request.Files[i]; var fileName = Path.GetFileName( file.FileName ); var path = Path.Combine( Server.MapPath( "~/Junk/" ) , fileName ); file.SaveAs( path ); } } } 

Este artículo me ayudó: http://www.matlus.com/html5-file-upload-with-progress/ ActionResult sigue siendo ActionResult Upload(HttpPostedFileBase file) {...}

 [HttpPost] public void Upload( ) { for( int i = 0 ; i < Request.Files.Count ; i++ ) { var file = Request.Files[i]; var fileName = Path.GetFileName( file.FileName ); var path = Path.Combine( Server.MapPath( "~/Junk/" ) , fileName ); file.SaveAs( path ); } }