Aggiorna solo il pannello dei contenuti nella pagina principale sulla navigazione della pagina in asp.net mvc

StackOverflow https://stackoverflow.com/questions/1605470

Domanda

Ho una pagina principale con i riquadri Intestazione, Menu, Contenuto e Piè di pagina nella mia applicazione asp.net mvc (C #).

Non voglio che i riquadri Intestazione e Piè di pagina si aggiornino in ogni navigazione della pagina, solo i riquadri Menu e Contenuto dovrebbero essere aggiornati.

Come posso ottenerlo nell'applicazione asp.net mvc? eventuali suggerimenti

È stato utile?

Soluzione

Un puro carico ajax all'interno delle pagine potrebbe essere ottenuto catturando i clic dei collegamenti nella navigazione verso qualcosa del tipo:

$('a:not(.external)').each(function(){
  $(this).attr('href', '#'+this.href);
});

Quindi puoi utilizzare il plugin jQuery BBQ per gestire il tuo pulsante Indietro e la pagina viene caricata con l'evento " onHashChange ". Ciò ti consentirà di caricare ajax ciascuna delle parti principali della pagina (probabilmente con una chiamata di tipo $ ('# main-div'). Load (url); ). La demo di BBQ fa esattamente quello che ti piacerebbe, con l'ulteriore vantaggio di non rovinare il pulsante Indietro, quindi suggerirei di dare un'occhiata a quello.

Altri suggerimenti

Effettua chiamate Ajax al controller, come sotto e crea il " *. ascx " PartialView ti serve

    $('#divMainContent').load("./LoadMainContent");



    [Authorize]
    public ActionResult LoadMainContent()
    {
        return PartialView("MainContent", sp);

    }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top