Option One
Utilisez le Remplacement contrôle ou API sur votre page. Cela vous permet de mettre en cache tout sur votre page à l'exception de la partie contenue dans le contrôle de substitution.
http://msdn.microsoft.com/en-us/library/ms227429.aspx
Une bonne façon d'utiliser est d'implémenter votre contrôle comme un simple contrôle du serveur qui rend le code html comme une chaîne, mais le fait dans le contexte de la page (qui est avec les ID de client correct). Scott Guthrie a un très bel exemple de comment cela fonctionne. Fonctionne bien avec AJAX appelle aussi par la façon ...
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
Extrait de l'article 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");
}
Option Deux
Render le contrôle dynamique via un Appel AJAX sur le chargement de la page. De cette façon, vous pouvez mettre en cache en toute sécurité la page entière (y compris l'appel AJAX) et seul le résultat rendu de l'appel change entre les pages.
Cela fonctionne pour des chaînes assez simples ou une sortie html, mais pas si vous avez besoin d'une logique de rendu avancée. – Micah
Puis-je rendre un contrôle utilisateur à partir d'un contrôle de substitution? – Micah
Oui, vous pouvez. Voir ma mise à jour Cela fonctionne également pour les contrôles utilisateur. –