Laurent Duveau
Activer les CSS Friendly Control Adapters en code
Comment gérer les CSS Friendly Control Adapters en code sans avoir recours au fichier browser.
Par Laurent Duveau publié le 22/11/2007 à 08:11, lu 6855 fois,
Dans un projet chez un client je cherchais à packager au maximum les éléments communs de sa couche web (WebControls, BasePage, HttpHandlers, etc...) dans un projet de type librairie de classes, afin de partager la dll dans tous ses sites web ASP.NET.
Ce client utilise également le CSS Friendly Control Adapters pour contrôler l'affichage du webcontrol asp:menu. J'ai remonté sans problème les classes adapters, les css, images et JavaScripts en ressources embarquées dans la dll externe, mais il restait encore dans le website le fichier browser dans le repertoire App_browsers, qui mappe les contrôles web à leur adapters.
Sachez qu'il est tout à fait possible de contrôler l'affectation des adapters aux webcontrols par code dans l'évênement OnPreInit de votre BasePage, exemple pour le menu :

C#:

HttpContext.Current.Request.Browser.Adapters[typeof(System.Web.UI.WebControls.Menu).AssemblyQualifiedName] =

    typeof(VotreNameSpace.Web).FullName;

VB:

HttpContext.Current.Request.Browser.Adapters(GetType(System.Web.UI.WebControls.Menu).AssemblyQualifiedName) =

GetType(VotreNameSpace.Web).FullName()

Note: A l'usage, méfiez vous des CSS Friendly Control Adapters qui utilisent du CSS vraiment insupportable!
 
» Démarrer une discussion
 
 
Discussion démarée par Laurent Kempé le 22/11/2007 à 08:13, 2 commentaire(s).