Свернуть блок C # в cshtml и сохранить его - PullRequest
7 голосов
/ 26 августа 2011

У нас есть немного большие блоки кода C # в наших файлах cshtml, которые должны быть представлены в cshtml и нигде больше (очевидно, это не блестящий случай, но это другой вопрос).

Как мы можем свернуть или скрыть эти блоки кода, чтобы наши дизайнеры работали более плавно? Мы также хотим скрыть эти блоки кода во время демонстрации процесса разметки.

Реальная проблема в том, что мы также должны сохранить визуальное представление в SVN .

Есть ли какая-нибудь нативная функциональность VS 2010 для этого или плагина? Может быть, есть возможность использовать «частичные» cshtml страницы, где вся разметка будет в одном файле, а весь код C # будет в другом?

К сожалению, VS не собирается свернуть блоки кода C # в директиве #region в таких файлах.

В конечном итоге возникает аналогичный вопрос Регионы в представлениях ASP.NET? , но он не дает ответа о том, как сохранить свернутое представление при использовании элемента действия контекстного меню «Свернуть тег».

Ответы [ 3 ]

15 голосов
/ 17 октября 2011

Попробуйте использовать функцию свертывания Visual Studio. По умолчанию я считаю, что ключи:

[ Ctrl + M , Ctrl + H ], чтобы скрыть произвольный выбор, и
[ Ctrl + M , Ctrl + U ], чтобы показать то же самое (пока свернуто).

Это должно позволить вам временно скрыть любой код. Более подробная информация доступна на MSDN

Это то, что вы искали?

Прочитав немного дальше, вы хотите сохранить их свернутыми, и, по-видимому, .cshtml не поддерживает #regions. Я думаю, что хакерское решение может быть старым:

@if(false){
    <div>
        <!--/*{your long code}*/-->
    </div>
}

Или что-то в этом роде, но вы поняли:)

2 голосов
/ 26 августа 2011

Просто выберите ваш код, щелкните правой кнопкой мыши и выберите Свернуть тег

0 голосов
/ 26 августа 2011

Я вижу это так, что файлы cshtml предназначены для "пользовательского контроля" стороны уровня представления. Если у вас слишком много кода в ваших файлах представлений, я бы реорганизовал код и переместил повторно используемые компоненты в частичные представления. Затем я бы включил эти частичные представления через

@Html.RenderPartial("PartialViewName", Model.propertyToRender), или я бы использовал

@{ Html.RenderAction("ActionName", "ControllerName") ;}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...