2010-07-23 5 views

Respuesta

4

Opción uno

Utilice el control Sustitución o API en su página. esto le permite almacenar todo en su página, excepto la parte que se encuentra dentro del control de sustitución.

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

Una buena manera de utilizar este es implementar el mando como un simple control de servidor que hace que el HTML como una cadena, sino que lo hace en el contexto de la página (es decir, con los ID de cliente correcto) Scott Guthrie tiene un buen ejemplo de cómo funciona esto. Funciona muy bien con llamadas AJAX también por cierto ...

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

Extracto del artículo de 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"); 
    } 

Opción dos

representar el control dinámico a través de una Llamada AJAX en la carga de la página. De esta forma, puede almacenar en caché de forma segura toda la página (incluida la llamada AJAX) y solo cambia el resultado de la llamada entre las páginas.

+0

Esto funciona para cadenas simples o salidas html pero no si necesita algún tipo de lógica de renderizado avanzada. – Micah

+0

¿Puedo renderizar un control de usuario desde un control de sustitución? – Micah

+0

Sí, puedes. Ver mi actualización Funciona también para los controles del usuario. –

Cuestiones relacionadas