Расширение MVC "Подкласс" - PullRequest
       6

Расширение MVC "Подкласс"

0 голосов
/ 27 декабря 2011

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

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

Редактировать: Сделано это с расширением DevExpress MVC Grid

Ответы [ 2 ]

2 голосов
/ 27 декабря 2011

Сторонний элемент управления - это совсем другая история, и поставщику придется выпустить версию ASP.NET MVC.

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

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

1 голос
/ 27 декабря 2011

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

Затем я написал метод расширения, который выглядит следующим образом:

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

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

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