Comme base de discussion. Créez un projet Web ASP.NET MVC standard.Comment faire pour afficher visuellement la page actuelle dans ASP.NET MVC?
Il contiendra deux éléments de menu dans la page principale:
<div id="menucontainer">
<ul id="menu">
<li>
<%= Html.ActionLink("Home", "Index", "Home")%></li>
<li>
<%= Html.ActionLink("About", "About", "Home")%></li>
</ul>
</div>
Comment puis-je définir le style visuel CSS indiquant la page en cours. Par exemple, lorsque dans la page A propos/contrôleur, je essentiellement comme le faire:
<%= Html.ActionLink("About", "About", "Home", new {class="current"})%></li>
Et, bien sûr, quand sur la page d'accueil:
<%= Html.ActionLink("Home", "Index", "Home", new {class="current"})%></li>
(Avoir un style CSS nom courant qui indique visuellement dans le menu que c'est la page actuelle.)
Je pourrais diviser le menu div de la page maîtresse en un espace réservé de contenu, mais cela signifierait que je dois mettre le menu sur chaque page .
Des idées, existe-t-il une bonne solution à cela?
Pas une bonne solution. Une vue ne devrait rien savoir des contrôleurs et des actions. Les données à afficher ne doivent être fournies que par le modèle. –
Ce n'est qu'un raccourci pour obtenir l'URL - vous pouvez faire la même chose en utilisant l'URL demandée, mais vous devrez alors l'analyser. Je suis satisfait de ce mécanisme qui ne brise pas le schéma. – tvanfosson
La syntaxe est-elle correcte? Je reçois "Impossible d'appliquer l'indexation avec [] à une expression de type" System.Web.Routing ".RouteData '" –