Styles individuels ASP.NET MenuItem
Je suis l'espoir d'utiliser un ASP.NET Menu de Contrôle pour la navigation par le biais de mon site. Cependant, j'ai une exigence que chaque MenuItem doivent être coiffés différemment (de couleurs différentes, à la fois statique et onHover). Sans créer une classe personnalisée qui va hériter de MenuItem, est-ce possible?
Réflexions sur une meilleure solution?
source d'informationauteur CodeMonkey1313
Vous devez vous connecter pour publier un commentaire.
Court de l'annulation de la RenderContents sur Menu, vos options sont très limitées. La plupart de ce que vous avez besoin est privé et scellés, et vous n'obtiendrez pas n'importe où.
Ma solution serait d'utiliser des modèles. Vous pouvez utiliser MenuItem.La valeur ou la Profondeur et la et ItemIndex pour identifier chaque élément et de fournir des attributs nécessaires.
En Page:
Dans le Code (ne jamais oublier la bêtise de ce code, c'est juste pour illustrer le principe):
Si quelqu'un d'autre se heurte à la même question...
Un rapide et sale méthode qui a fonctionné pour moi, c'est la force du contenu HTML dans le MenuItem
Text
(s'échapper). Vous pouvez ensuite le style de n'importe quelle manière que vous voulez dans votre CSS, ou même définir chaque élément de menu pour utiliser un style différent:Le HTML se termine à l'intérieur de la
<a>
tag:Essayons ainsi de définir le style de chaque élément de menu:
Code derrière:
Classe CSS:
Si vous générez le menu par programmation, vous pouvez ajouter du style et de la onmouseover/onmouseout attributs lors de la création de chaque MenuItem, par exemple:
Sinon, essayez d'ajouter ces attributs dans la balise, IntelliSense ne vous dis pas qu'ils travaillent, mais ils le font habituellement (je n'ai pas testé spécifiquement avec MenuItems):
Vous pourriez avoir de la chance avec CSS Friendly Adaptateurs.
Bien sûr, vous pouvez créer une classe héritée et de re-travailler le rendu des routines...