2016-01-27 2 views
0

Я видел несколько руководств по ASP.Net MVC HtmlHelpers, и они всегда включали HTML непосредственно в SourceCode.ASP.Net MVC HTMLHelper с внешним HTML

Я хочу создать многоразовые элементы управления, так что мне не нужно писать вид входа и его части снова и снова по следующим проектам.

Лучше всего было бы, если бы я мог написать DLL и поместить все мои созданные пользовательские элементы управления в нем

Некоторое время назад я написал заявление с AngularJS и были директивы и в них был templateUrl. Есть ли что-то подобное в Asp.Net MVC?

Я использую Razor View Engine и .Net Framework 4.0.

Я знаю, что я мог бы использовать частичный вид, но частичный вид, кажется, не работают в DLLs

+2

'Лучше всего было бы, если бы я мог написать DLL и поместить все мои созданные пользовательские элементы управления там, вы пробовали это? – JamieD77

+0

Вот аналогичный [ответ] (http://stackoverflow.com/a/33619432/881798) о повторном использовании и совместном использовании ресурсов в проектах MVC (Dll) в решении. – vendettamit

+0

@ JamieD77 Я создал проект MVC и включил его в другой проект, но мои взгляды были недоступны – Bongo

ответ

1

«Лучше всего было бы, если бы я мог написать DLL и разместить в нем все мои созданные пользовательские элементы управления» - Вы можете. Есть один маленький чит, который заставляет все работать очень легко.

Когда вы пишете свои html-помощники, убедитесь, что вы изменили пространство имен на System.Web.Mvc.Html.

Если вы используете класс TagBuilder, вы не должны использовать слишком много html в своем коде C#.

Затем, если вы ссылаетесь библиотеки DLL в проекте, вы должны быть в состоянии получить доступ к HTML помощника с вашей точки зрения бритвы

Вы можете использование других пространств имен, но вы должны иметь для редактирования web.config файл в папке «Представления» и добавьте ссылку на пространство имен в разделе <system.web.webPages.razor>. Повторно используя уже упомянутое пространство имен, вы можете сэкономить некоторые неприятности в конфигурации.

В зависимости от того, сколько проектов и сколько разработчиков вы хотите разделить между ними, вы также можете рассмотреть продукт сервера сборки (моя команда использовала TeamCity около 2 лет, прежде чем нам нужно было заплатить за лицензию). Затем вы можете создавать свои собственные пакеты NuGet, которые позволяют делиться (и управлять обновлениями) для частичных представлений, шаблонов редакторов, помощников html и т. Д.

+0

Это звучит очень интересно, но я не хочу для оплаты лицензии. Я рассмотрю ваше другое решение завтра, если вы не возражаете и посмотрите, работает ли он на меня – Bongo

+0

Последний раз, когда я проверил, он был бесплатным для коммерческого использования для 20 проектов, но это слишком много для отдельного разработчика или небольшой команды. Я не работаю для них ... –

Смежные вопросы