...

понедельник, 25 ноября 2013 г.

Настройка шаблонов ASP.NET MVC 5 Scaffolding в Visual Studio 2013


Наверное уже многие успели оценить удобство создания веб-приложений используя технологию скаффолдинга появившуюся еще в ASP.NET MVC 3. Прошло время, и вот, уже вышли Visual Studio 2013 и ASP.NET MVC 5. Возможности скаффолдинга стали больше: появилась поддержка bootstrap. асинхронных методов и многого другого.

В этой статье, я хочу рассказать о том, как можно расширить возможности этого замечательного инструмента.



Как известно, скаффолдинг в ASP.NET позволяет вам автоматически генерировать код в веб приложениях. Это позволяет проще и быстрее создавать рабочие прототипы приложений и экономит время, позволяя сосредоточится на основных задачах и не тратя его на рутинные операции.


Шаблоны




Прежде чем перейти собственно к настройке и расширению возможностей скаффолдинга, сначала необходимо понять на основе чего он работает. Вся генерация форм и кода происходит путем применения специальных шаблонов, которые задают правила и логику генерации кода. В качестве шаблонов в ASP.NET MVC используются T4-файлы.
Что же такое Т4?



Text Template Transformation Toolkit, более известные как Т4 представляют собой наборы шаблонов поставляемых с Visual Studio. Исходные Т4-файлы обычно хранятся с расширением.ТТ Шаблоны Т4 используется как инструментарий для автоматизации создания текстовых файлов с различными параметрами. Этими текстовыми файлами может быть по сути что угодно — разметка, набор стилей, блок кода и т.д. (XML, HTML, XAML, etc.) Т4 использует специальный формат шаблона, который может содержать .NET код и строковые литералы. После подготовки шаблоны анализируются специальной утилитой и компилируются в .NET код. В результате исполнения этого кода генерируются текстовые файлы.

Шаблоны Т4 применяются не только в ASP.NET MVC, но и в ADO.NET Entity Framework и других технологиях, где необходима автоматизация процесса генерации кода.
Настройка существующих шаблонов.



Шаблоны используемые в Visual Studio по умолчанию безусловно хороши, но зачастую их возможностей недостаточно для реализации всей логики, реализацию которой хотелось бы автоматизировать. В этой статье будет рассказано о том, как вы можете самостоятельно настраивать шаблоны, а также, о моем наборе шаблонов, которым я готов поделиться.

Обычно, после установки Visual studio 2013 стандартные шаблоны находятся в директории

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates



Если вы внесете изменения в один из этих шаблонов — то оно повлияет на все последующие проекты, где вы будете применять автоматическую генерации форм. Однако есть способ, который позволяет задавать шаблон генерации для каждого отдельного веб-приложения. Для этого, в структуре проекта, в корне, необходимо создать каталог CodeTemplates и скопировать в него шаблоны которые вы планируется изменить.



После этого, инструмент генерации форм будет использовать уже измененные шаблоны.


X.Scaffolding Templates




Не так давно я писал о проекте X.Scaffolding, который расширяет возможности веб приложени созданного на основе генерации страниц.

Сегодня я хочу предложить вниманию читателей дополнение к этому проекту — набор шаблонов X.Scaffolding.Templates, который доступен также через репозитории NuGet. Вы можете установить этот пакет, создать все необходимые формы, и безболезненно удалить его из проекта.

В чем отличие шаблонов из этого пакета?


  • Поддержка пейджинга (на основе библиотеки IPageList)

  • Измененные шаблоны с более плотной интеграцией с Bootstrap

  • Атрибут Authorize(true) для контроллеров по умолчанию


Присоединяйтесь!




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

GitHub

Проект доступен на GitHub.



NuGet

Установить пакет можно из репозитория NuGet:

Install-Package xscaffolding.templates

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


Полезная информация








По материалам Customizing ASP.NET MVC 5/Web API 2 Scaffolding Templates in Visual Studio 2013

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.


Комментариев нет:

Отправить комментарий