2010-07-23 6 views

risposta

4

Opzione uno

Utilizzare il controllo Sostituzione o API sulla tua pagina. ciò consente di memorizzare nella cache tutto sulla pagina tranne la parte contenuta nel controllo di sostituzione.

http://msdn.microsoft.com/en-us/library/ms227429.aspx

Un bel modo per utilizzare questo è quello di implementare il controllo di come un semplice controllo server che rende il codice HTML come una stringa, ma lo fa nel contesto della pagina (cioè con gli ID client corretto). Scott Guthrie ha un bell'esempio di come funziona. Funziona bene con chiamate AJAX troppo a proposito ...

http://weblogs.asp.net/scottgu/archive/2006/10/22/Tip_2F00_Trick_3A00_-Cool-UI-Templating-Technique-to-use-with-ASP.NET-AJAX-for-non_2D00_UpdatePanel-scenarios.aspx

Estratto da un articolo di Scott Gu ...

[WebMethod] 
    public string GetCustomersByCountry(string country) 
    { 
     CustomerCollection customers = DataContext.GetCustomersByCountry(country); 

     if (customers.Count > 0) 
      //RenderView returns the rendered HTML in the context of the callback 
      return ViewManager.RenderView("customers.ascx", customers); 
     else 
      return ViewManager.RenderView("nocustomersfound.ascx"); 
    } 

Opzione due

Render il controllo dinamico tramite un Chiamata AJAX sul caricamento della pagina. In questo modo, puoi tranquillamente memorizzare l'intera pagina (inclusa la chiamata AJAX) ed è solo il risultato della chiamata che viene visualizzato tra le pagine.

+0

Questo funziona per stringhe abbastanza semplici o output html ma non se è necessario alcun tipo di logica di rendering avanzata. – Micah

+0

Posso rendere un controllo utente da un controllo di sostituzione? – Micah

+0

Sì, è possibile. Vedi il mio aggiornamento. Funziona anche per i controlli utente. –

Problemi correlati