J'ai ce code qui constitue ma barre de navigation sur mon site, il se trouve dans ma page _layout.cshtml en haut...
<div id="nav">
<ul>
<li id="current"><a href="stackoverflow.com/home/index">Home</a></li>
<li><a href="stackoverflow.com/code/index">Code Stuff</a></li>
<li><a href="stackoverflow.com/music/index">Music Stuff</a></li>
<li><a href="stackoverflow.com/blog/index">Blog</a></li>
<li><a href="stackoverflow.com/links/index">Links</a></li>
<li><a href="stackoverflow.com/contact/index">Contact</a></li>
</ul>
</div>
J'utilise une page de vue razor et j'ai besoin de pouvoir injecter id="current" dans le bloc de la page sur laquelle je suis. Ma solution était de faire quelque chose comme
<div id="nav">
<ul>
<li id="@Model.PageName"><a href="stackoverflow.com/home/index">Home</a></li>
<li id="@Model.PageName"><a href="stackoverflow.com/code/index">Code Stuff</a></li>
<li id="@Model.PageName"><a href="stackoverflow.com/music/index">Music Stuff</a></li>
<li id="@Model.PageName"><a href="stackoverflow.com/blog/index">Blog</a></li>
<li id="@Model.PageName"><a href="stackoverflow.com/links/index">Links</a></li>
<li id="@Model.PageName"><a href="stackoverflow.com/contact/index">Contact</a></li>
</ul>
</div>
Mais bien sûr, cela ne fonctionnera pas parce que tous les éléments li contiendront le nom de la page. Donc, sans utiliser de lourdes instructions if, comment puis-je faire cela dynamiquement ?