Renderizar vistas parciales usando ajax

Revisé esta pregunta y resolvió mis problemas iniciales. Pero no quiero que la vista parcial se represente solo cuando el usuario hace clic en un enlace, quiero mostrar vistas parciales cuando la página está cargada y, posiblemente, mostrar un indicador de progreso mientras se carga la vista parcial.

¿Cómo lograr eso?

Muchas gracias por leer esto.

Si quieres cargar la página y luego cargar la vista parcial mediante ajax, puedes crear un ActionMethod que haga algo como:

 public ActionResult Create() { var model = new MyModel(); if (Request.IsAjaxRequest()) { return PartialView( "_Partial", model.PartialModel ); } else { return View( model ); } } 

y luego en tu página haz algo como:

 $(function(){ $(document).ajaxStart(function () { //show a progress modal of your choosing showProgressModal('loading'); }); $(document).ajaxStop(function () { //hide it hideProgressModal(); }); $.ajax({ url: '/controller/create', dataType: 'html', success: function(data) { $('#myPartialContainer').html(data); } }); }); 

Controlador

 public ActionResult GetModule(string partialName){ return PartialView("~/Views/Shared/"+partialName); } 

en la página predeterminada (utilizando la operación jquery ajax)

 
Loading...

Puede representarlo en la página inicial escribiendo @Html.Partial(...) .