recherche
Maisoninterface Webtutoriel CSSComment styliser efficacement les liens de navigation actifs dans ASP.NET MVC ?

How to Effectively Style Active Navigation Links in ASP.NET MVC?

Style des éléments de navigation avec la classe "active" dans ASP.NET MVC

Introduction

Dans les applications ASP.NET MVC, l'assistant Html.ActionLink est couramment utilisé pour créer des liens de navigation. Lors de l'intégration du style Bootstrap, il est essentiel d'appliquer la classe « active » à l'élément de navigation correspondant. Cet article vous guidera dans l'ajout de la classe « active » aux liens de navigation à l'aide de l'assistant Html.ActionLink et fournira une solution plus élégante à l'aide d'une extension d'assistance HTML.

Considérez le scénario suivant :



Ce code génère les liens de navigation, mais la classe "active" est appliquée au balise, conduisant à une structure Bootstrap invalide. Pour résoudre ce problème, appliquez la classe "active" au

  • élément à la place :
  • 
    
    

    Cela appliquera correctement la classe "active" à l'élément de navigation actuel en fonction de la page active.

    Utilisation d'une extension d'assistance HTML pour un style dynamique

    Pour fournir une solution plus flexible et réutilisable, vous pouvez créer une extension d'assistance HTML comme celle-ci :

    public static string IsSelected(this HtmlHelper html, string controllers = "", string actions = "", string cssClass = "selected")
    {
        ViewContext viewContext = html.ViewContext;
        bool isChildAction = viewContext.Controller.ControllerContext.IsChildAction;
    
        if (isChildAction)
            viewContext = html.ViewContext.ParentActionViewContext;
    
        RouteValueDictionary routeValues = viewContext.RouteData.Values;
        string currentAction = routeValues["action"].ToString();
        string currentController = routeValues["controller"].ToString();
    
        if (String.IsNullOrEmpty(actions))
            actions = currentAction;
    
        if (String.IsNullOrEmpty(controllers))
            controllers = currentController;
    
        string[] acceptedActions = actions.Trim().Split(',').Distinct().ToArray();
        string[] acceptedControllers = controllers.Trim().Split(',').Distinct().ToArray();
    
        return acceptedActions.Contains(currentAction) && acceptedControllers.Contains(currentController) ?
            cssClass : String.Empty;
    }

    Cette méthode d'extension nécessite trois paramètres : des contrôleurs, des actions et une classe CSS facultative. Il vérifie si l'action et le contrôleur actuels correspondent aux valeurs spécifiées et renvoie la cssClass si c'est le cas, ou une chaîne vide dans le cas contraire.

    Utilisation de l'extension HTML Helper

    Pour utiliser cette extension, ajoutez un using instruction à la page :

    @using YourNamespace;

    Ensuite, dans la vue, vous pouvez appliquer la classe "active" comme suit :

    
    
    • @Html.ActionLink("Home", "Home", "Default", null, new {@class="@Html.IsSelected(actions: "Home", controllers: "Default")"})
    • @Html.ActionLink("About", "About", "Default", null, new {@class="@Html.IsSelected(actions: "About", controllers: "Default")"})

    Conclusion

    En appliquant la classe "active" à l'élément HTML approprié et en tirant parti de l'extension d'assistance HTML fournie, vous pouvez gérer efficacement l'état actif des liens de navigation dans ASP Applications .NET MVC, garantissant la cohérence et une organisation du code plus propre.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Comment nous avons tagué Google Fonts et créé des goofont.comComment nous avons tagué Google Fonts et créé des goofont.comApr 12, 2025 pm 12:02 PM

    Goofonts est un projet parallèle signé par un développeur-femme et un concepteur-mari, tous deux de grands fans de typographie. Nous avons marqué Google

    Articles de développement Web intemporelsArticles de développement Web intemporelsApr 12, 2025 am 11:44 AM

    Pavithra Kodmad a demandé aux gens des recommandations sur ce qu'ils pensaient être certains des articles les plus intemporels sur le développement Web qui ont changé

    L'accord avec l'élément de sectionL'accord avec l'élément de sectionApr 12, 2025 am 11:39 AM

    Deux articles ont publié exactement le même jour:

    Pratiquez des requêtes GraphQL avec l'API de l'état de JavaScriptPratiquez des requêtes GraphQL avec l'API de l'état de JavaScriptApr 12, 2025 am 11:33 AM

    Apprendre à créer des API GraphQL peut être assez difficile. Mais vous pouvez apprendre à utiliser les API GraphQL en 10 minutes! Et il se trouve que je suis parfait

    CMSS au niveau des composantsCMSS au niveau des composantsApr 12, 2025 am 11:09 AM

    Lorsqu'un composant vit dans un environnement où les données interrogent les données qui vivent à proximité, il y a une ligne assez directe entre le composant visuel et le

    Définissez le type sur un cercle ... avec chemin de décalageDéfinissez le type sur un cercle ... avec chemin de décalageApr 12, 2025 am 11:00 AM

    Ici, une rotation CSS légitime de Yuanchuan. Il y a ce chemin de décalage de la propriété CSS. Il était une fois, il s'appelait le chemin de mouvement, puis il a été renommé. je

    What does "revert" do in CSS?What does "revert" do in CSS?Apr 12, 2025 am 10:59 AM

    Miriam Suzanne explique dans une vidéo de développeur de Mozilla sur le sujet.

    Les amoureux modernesLes amoureux modernesApr 12, 2025 am 10:58 AM

    J'adore les trucs comme ça.

    See all articles

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Article chaud

    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Meilleurs paramètres graphiques
    3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Comment réparer l'audio si vous n'entendez personne
    3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Comment déverrouiller tout dans Myrise
    4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

    Outils chauds

    SublimeText3 Linux nouvelle version

    SublimeText3 Linux nouvelle version

    Dernière version de SublimeText3 Linux

    mPDF

    mPDF

    mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

    Télécharger la version Mac de l'éditeur Atom

    Télécharger la version Mac de l'éditeur Atom

    L'éditeur open source le plus populaire

    DVWA

    DVWA

    Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

    VSCode Windows 64 bits Télécharger

    VSCode Windows 64 bits Télécharger

    Un éditeur IDE gratuit et puissant lancé par Microsoft