2011-12-27 4 views
0

Я прихожу из приложения ASP.NET Webforms. Я использую сторонний элемент управления, из которого я создал потомка, чтобы установить некоторые значения по умолчанию. Затем я зарегистрировал этот класс как тег, и я готов пойти, не задавая параметры снова и снова.«Подкласс» Расширение MVC

Теперь я хочу перейти на приложение на основе MVC. Мне любопытно, как это сделать. Есть ли способ «подкласса» расширения там тоже?

Edit: Делается это с DevExpress MVC сетка расширением

ответ

2

Контроль третьей стороны совершенно другая история, и продавец должен был бы выпустить версию ASP.NET MVC.

Однако в простых выражениях для создания повторно используемого кода в ASP.NET MVC один из вариантов имеет значение create custom HTML helpers. В основном это метод, который вы называете разметкой выводов, которая может быть достаточно быстро реализована довольно быстро.

Есть лот ресурсов для различных помощников HTML, и имейте в виду, что «документация», которую вы нашли в Google, значительно изменилась по сравнению с версиями ASP.NET MVC, поэтому следите за тем, чтобы вы были не ограничивая себя «старым способом». Существует также ряд коммерческих, а также бесплатных продуктов и проектов с открытым исходным кодом с удобными помощниками и расширениями.

+0

Поставщик выпустил версию MVC, я только ищу способ централизовать настройки, а не повторять их снова и снова. Это необходимо для некоторых настроек, в то время как другие должны меняться. – Sascha

+0

@ Sascha: Я думаю, это зависит от того, как структурирована версия вендора. Если это помощник, то создание специального помощника, вызывающего их помощника, должно работать (в конце концов, это просто метод, вызывающий другой метод). Если это пользовательский элемент управления или какая-либо структура на основе классов, создание класса-оболочки должно сделать трюк. В конце концов, все это должно сводиться к классам и методам, которые могут обертываться и/или наследоваться по мере необходимости. – David

+0

Спасибо за подсказку. Я думаю, что нашел способ благодаря вашему комментарию и приму этот ответ. – Sascha

1

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

Тогда я написал метод расширения, который читает так:

public static GridViewExtension GridView (this HtmlHelper html, Action<CustomGridViewSettings> settings) { 
    var mySettings = new CustomGridViewSettings(); 
    settings(mySettings); 
    return html.DevExpress().GridView((GridViewSettings)mySettings); 
} 

Использования затем аналогов образцам онлайн страница @DevExpress и я пропустил класс образца здесь.

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