Déplacer des aides de razor communes vers un autre fichier

J’ai une application Web MVC4 et j’ai actuellement quelques @helper que j’utilise sur plusieurs pages, définies dans cshtml. Le problème est que je dois les définir sur chaque page où ils sont utilisés. Est-il possible de créer un fichier .cshtml contenant tous les éléments de mon compte @helper et d’inclure cette page dans mes vues?

c’est-à-dire que cela est utilisé sur chaque vue Index dans la zone cms.

 @helper DisplayPager(Int32 CurrentPage, Int32 MaxPages) { Ssortingng IsActive = "";  } 

Même définition, même code, même tout, mais il est dans le code au moins 15 fois maintenant.

Voici les instructions pour y parvenir

Cette procédure vous montre comment créer l’assistant qui crée la note, comme décrit précédemment. Ceci est un exemple simple, mais l’aide personnalisée peut inclure n’importe quel balisage et code ASP.NET dont vous avez besoin.

  1. Dans le dossier racine du site Web, créez un dossier nommé App_Code. Il s’agit d’un nom de dossier réservé dans ASP.NET dans lequel vous pouvez insérer du code pour des composants tels que des assistants.

  2. Dans le dossier App_Code, créez un nouveau fichier .cshtml et nommez-le MyHelpers.cshtml.

  3. Remplacez le contenu existant par ce qui suit:

     @helper MakeNote(ssortingng content) { 

    Note   @content

    }

    Le code utilise la syntaxe @helper pour déclarer un nouvel assistant nommé MakeNote. Cet assistant spécifique vous permet de transmettre un paramètre nommé content pouvant contenir une combinaison de texte et de balisage. L’assistant insère la chaîne dans le corps de la note à l’aide de la variable @content.

    Notez que le fichier s’appelle MyHelpers.cshtml, mais que l’assistant s’appelle MakeNote. Vous pouvez mettre plusieurs aides personnalisées dans un seul fichier.

  4. Enregistrez et fermez le fichier.

Copié de cet article