meilleur moyen de générer et de mettre en évidence des éléments de menu sur le serveur (asp.net)

StackOverflow https://stackoverflow.com/questions/241373

  •  04-07-2019
  •  | 
  •  

Question

J'ai un composant ascx, qui contient un menu à deux niveaux, car il existe plusieurs types d'utilisateurs et le menu doit être calculé sur le serveur.

Quoi qu'il en soit - je fais également la surbrillance de l'élément de menu en cours sur le serveur (ajout d'une classe / css sélectionnée à un élément). La mise en surbrillance avec javascript n’est pas une bonne option, car le contenu de la grille de données entraîne la publication et doit rester le menu dans la même position que la valeur sélectionnée. Je fais donc cela comme une sorte de mappage avec une table de hachage (par exemple, des paires (url-du-site, élément de menu en surbrillance)), et je dois inclure un mappage pour chaque site que mon application Web contient dans Afin de pouvoir mettre les menus en surbrillance ... cela me dérange donc qu'il y ait une meilleure façon de le faire. Existe-t-il de meilleures techniques?

Était-ce utile?

La solution

Une technique que j'utilise sur mes pages de page maître / de contenu avec .NET 2.0 consiste à utiliser une méthode accessible au public, appelée "SetNavigation". cela prend un caractère de chaîne qui correspond au contrôle de lien hypertexte que je veux mettre en évidence. La méthode définit la feuille de style CSS du lien hypertexte spécifié vers mon " sélectionné " un.

Ensuite, dans mes pages enfants, dans la méthode Page_Load, j'appelle la méthode SetNavigation et lui passe le lien en fonction de la page en cours, telle que SetNavigation ("hypSearch")

.

Je pense que vous pourriez créer un contrôle similaire sur votre contrôle ASCX, puis faire en sorte que vos événements Page_Load ou même des événements de clic de bouton appellent la méthode, si vous le souhaitez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top