2009-03-25 25 views
1

J'ai besoin de configurer un menu d'image. Le client veut une police spécifique et les onglets ne sont pas vraiment CSS. Cela dit, je me demande quelle est l'approche pour maintenir l'état sur les éléments de menu sélectionnés?Comment maintenir l'état sur un menu d'image de la maquette en allant sur une autre page?

Par exemple: Disons que j'ai 5 onglets

--HOME-- --YOUTH-- --ADOLESCENCE-- --ADULT--

Lorsque l'utilisateur clique sur le 'Jeunesse' menu, ils sont redirigés vers la page "youth.aspx" qui contient des résumés de posts de blog pertinents pour cet élément de menu. Au bas des résumés des articles de blog, il y a des liens vers - "LIRE PLUS>". Le lien lire plus les emmène à la page 'blogpost.aspx'. Comment conserver l'élément de menu 'JEUNES' dans un état sélectionné quand je vais sur 'blogpost.aspx' et de même - comment garder les autres onglets dans un état sélectionné quand je vais dans 'blogposts.aspx' à partir des résumés de leurs blogs ? ADDED: Le framework sur lequel je travaille a une réécriture d'URL, donc je peux créer des routes et générer des paramètres de chaîne de requête qui sont cachés à l'utilisateur. Je suppose que l'une de ces méthodes consiste à faire en sorte que toutes les pages maîtres mappent le paramètre querystring à un état 'sélectionné' dans le menu.

J'ai quelques idées, mais j'aimerais entendre les suggestions de personnes qui en savent beaucoup plus que moi.

Merci.

Répondre

1

Vous devrez "enregistrer" votre état actuel dans la page maître avant de rediriger vers votre nouvelle page. Ensuite, sur la page maître de la nouvelle page, resélectionnez vos menus, paramètres etc.

Une bonne place pour ce type de données est dans Session, d'autant plus que vous pouvez effacer les informations dès que vous les utilisez dans votre page secondaire. Vous pouvez également transmettre ces paramètres sur la chaîne de requête, mais s'ils sont nombreux, votre chaîne de requête risque d'être compliquée.

Vous ne pourrez pas effectuer de navigation directe depuis la page initiale. Les contrôles tels que le contrôle HyperLink ne vous donnera pas la possibilité d'enregistrer l'état actuel. La propriété NavigateUrl sur le contrôle Menu est susceptible de provoquer des problèmes similaires. Au lieu de cela, câbler l'événement select sur le menu, enregistrer, puis rediriger.

Espérons que cela aide.

-A

Questions connexes