web-dev-qa-db-fra.com

Régions dans les vues ASP.NET?

Je fais une application ASP.NET MVC avec le moteur de rasoir.
Et je me demandais s'il était possible d'utiliser Régions dans une vue.

quelque chose comme:

#region blabla
    <p>@Model.Name</p>
    <p>...</p>
#endregion

Cela ne fonctionne pas. Y a-t-il une alternative?

55
Velter

Si vous téléchargez Web essential 2013, vous pouvez utiliser des régions à la fois dans vos fichiers cshtml et javascript.

Comme ça (merci à @dotnetN00b pour l'exemple dans la section commentaires):

<!-- #region Test -->

code here

<!-- #endregion -->
93

Sélectionnez la pièce qui doit être convertie en région, puis cliquez avec le bouton droit et appuyez sur CollapseTag

53
Artur Keyan

Dans Visual Studio, vous pouvez ajouter manuellement une région décrite comme celle-ci:

Pour créer ou supprimer une région pliable

  1. Sélectionnez le texte que vous souhaitez traiter comme une zone réductible.

  2. Pour créer une région réductible, dans le menu Edition, pointez sur Plan, puis cliquez sur Masquer la sélection.

L'éditeur transforme la sélection en une région, la réduit et affiche une boîte avec des points de suspension (...) pour indiquer que la zone contient une zone réduite. Vous pouvez maintenir le pointeur de la souris sur la boîte pour voir son contenu.

  1. Pour supprimer une zone réductible, réduisez-la, puis cliquez dessus pour la sélectionner.

  2. Dans le menu Edition, pointez sur Plan, puis cliquez sur Arrêter le masquage du courant.

Pour réduire et développer une seule région

  1. Pour réduire une région, cliquez sur le signe moins (-) dans la marge de l'éditeur.

  2. Pour développer une région réduite, cliquez sur le signe plus (+) dans la marge.

Pour réduire et développer toutes les régions

Dans le menu Edition, pointez sur Plan, puis cliquez sur Basculer tous les plans.

à partir de MSDN

Mais ce n'est pas vraiment pratique.

Pour HTML, vous pouvez modifier manuellement l'option de contour pour chaque balise dans les options des éditeurs de texte:

enter image description here

enter image description here

La valeur minimale des lignes minimales est de 1 pour être efficace.

Plus d'informations sur MSDN

13
Abdullah Erbey

Dans Vs2015 et Resharper, saisissez "region" dans votre page html ou cshtml, puis appuyez sur la touche Tab. Ceci insère le code d'extrait #region.

<!-- #region name -->

//Your html or cshtml codes

<!-- #endregion -->
12

Je n'ai pas d'option "CollapseTag" dans mon menu contextuel. Ce que je fais habituellement, c'est:

  1. Sélectionnez le texte.
  2. Goto Edit -> Outlining -> Hide Selection.

ou

utilisez Ctrl + M, Ctrl + H

J'utilise Microsoft Visual Studio Pro 2013.

Non, AFAIK, il n'est pas possible d'utiliser des régions dans une vue. Vous pouvez utiliser des partiels pour regrouper des régions de la vue en vues partielles réutilisables.

Voir la réponse la plus récente ; cela fonctionne et accomplit l'effet désiré.

11
Darin Dimitrov

Vous pouvez utiliser Masterpages avec RenderPartial ou RenderAction pour réduire la taille de vos vues. Les deux ont leur place.

3
George Stocker

Les divs sont pliables, vous pouvez donc toujours les utiliser avec une sorte d'identifiant pour imiter les régions.

<div id="BLABLA">...</div>
3
mdm20

régions sorte de travail dans les vues pour moi, je peux définir une région mais elle ne s'effondrera pas. Si vous utilisez la méthode @ Artur d'utiliser Collapse Tag, vous y êtes à peu près! :)

3
eth0

Sachez que l'utilisation de régions peut entraîner des problèmes dans les vues - même si elles sont syntaxiquement valides, la désignation entre le code et HTML/SCRIPT devient souvent `` confuse '', ce qui entraîne un comportement imprévisible.

Les DIV sont certainement la "meilleure" solution, d'autant plus que les DIV supplémentaires permettent plus de flexibilité lors du changement de styles CSS plus tard.

Si vous avez besoin de beaucoup de régions, envisagez de refactoriser davantage votre code.

0