Регионы в представлениях ASP.NET? - PullRequest
54 голосов
/ 22 марта 2011

Я делаю приложение ASP.NET MVC с движком бритвы.И мне было интересно, возможно ли использовать Регионы в виде.

что-то вроде:

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

Это не работает.Есть ли альтернатива?

Ответы [ 10 ]

92 голосов
/ 28 марта 2014

Если вы загружаете Web essential 2013, вы можете использовать регионы в файлах cshtml и javascript.

Вот так (спасибо @dotnetN00b за образец в разделе комментариев):

<!-- #region Test -->

code here

<!-- #endregion -->
53 голосов
/ 24 августа 2011

Выберите деталь, которую нужно преобразовать в регион, затем щелкните правой кнопкой мыши и нажмите CollapseTag

13 голосов
/ 12 мая 2013

В Visual Studio вы можете вручную добавить выделенную область следующим образом:

Чтобы создать или удалить складную область

  1. Выберите текст, который вы хотите рассматривать как складную область.

  2. Чтобы создать складную область, в меню «Правка» выберите пункт «Контур» и нажмите «Скрыть выделение».

Редактор превращает выделение в регион, сворачивает его и отображает окно с многоточием (...), чтобы указать, что область содержит свернутую область. Вы можете держать указатель мыши над полем чтобы увидеть его содержание.

  1. Чтобы удалить складную область, сверните ее, а затем щелкните ее, чтобы выбрать ее.

  2. В меню «Правка» выберите «Обводка» и нажмите «Остановить скрытие тока».

Чтобы свернуть и расширить одну область

  1. Чтобы свернуть регион, щелкните знак минуса (-) на полях редактора.

  2. Чтобы развернуть свернутую область, щелкните знак плюса (+) на полях.

Свернуть и расширить все регионы

В меню «Правка» выберите «Обводка», а затем нажмите «Переключить все». Описывая.

Из MSDN

Но это не совсем практично.

Для HTML вы можете вручную редактировать параметры контура для каждого тега в параметрах текстовых редакторов:

enter image description here

enter image description here

Минимальное значение минимальных строк равно 1, чтобы быть эффективным.

Подробнее о MSDN

12 голосов
/ 02 ноября 2015

В Vs2015 и Resharper введите «регион» на своей html или cshtml странице, затем нажмите клавишу Tab. Это вставка #регионального кода фрагмента.

<!-- #region name -->

//Your html or cshtml codes

<!-- #endregion -->
12 голосов
/ 08 апреля 2015

У меня нет опции "CollapseTag" в моем контекстном меню . Что я обычно делаю, это:

  1. Выберите текст.
  2. Перейти к Правка -> Изложение -> Скрыть выделение.

или

используйте Ctrl + M, Ctrl + H

Я использую Microsoft Visual Studio Pro 2013.

11 голосов
/ 22 марта 2011

Нет, AFAIK невозможно использовать регионы в представлении. Вы можете использовать партиалы, чтобы сгруппировать области представления в повторно используемые частичные представления.

См. более новый ответ ; это работает и достигает желаемого эффекта.

3 голосов
/ 02 мая 2012

регионы вроде работы для меня, я могу определить регион, но он не рухнет. Если вы используете метод @ Artur с использованием Collapse Tag, вы в значительной степени там! :)

3 голосов
/ 22 марта 2011

Вы можете использовать мастер-страницы с RenderPartial или RenderAction, чтобы уменьшить количество просмотров. У обоих есть свои места.

3 голосов
/ 22 марта 2011

Div являются складными, поэтому вы всегда можете использовать их с каким-то идентификатором id для вида мимических областей.

<div id="BLABLA">...</div>
0 голосов
/ 26 апреля 2013

Имейте в виду, что использование регионов может вызвать проблемы в представлениях - даже если они синтаксически действительны, часто обозначение между кодом и HTML / SCRIPT становится «запутанным», что приводит к непредсказуемому поведению.

DIV, безусловно, являются«лучшее» решение, особенно если учесть, что дополнительные DIV обеспечивают большую гибкость при дальнейшем изменении стилей CSS.

Если вам нужно много регионов, подумайте о дальнейшем рефакторинге кода.

...