Renderizando exibições parciais usando ajax

Eu verifiquei esta questão e resolveu meus problemas iniciais. Mas não quero que a exibição parcial seja processada somente quando o usuário clica em um link, desejo renderizar visualizações parciais quando a página é carregada e, possivelmente, mostrar um indicador de progresso enquanto a exibição parcial está sendo carregada.

Como conseguir isso?

Muito obrigado por ler isso.

Se você quiser carregar a página e, em seguida, carregar a visão parcial via ajax, você pode criar um ActionMethod que faça algo como:

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

e, em seguida, na sua página, faça 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); } 

na página padrão (usando a operação jquery ajax)

 
Loading...

Você pode renderizá-lo na página inicial escrevendo @Html.Partial(...) .