Привязывание к модели списка значений, разделенных запятыми (asp.net-mvc)

В прошлой заметке я описывал как передавать списки значений в контроллер. Теперь опишу как создать пользовательский привязчик к модели, который будет привязывать параметр  со значениями, разделенными запятыми, к списку значений в контроллере.

Читать далее Привязывание к модели списка значений, разделенных запятыми (asp.net-mvc)

Передаем списки значений в контроллеры

В asp.net-mvc как только начинаешь сталкиваться с передачей списков значений в контроллеры, так сразу понимаешь как же все таки неудобно сделан привязчик значений к модели.

Читать далее Передаем списки значений в контроллеры

Список перечислений в entity framework

Entity Framework может хранить  перечисления в бд как int. А список перечислений ef уже не умеет хранить, но позволяет создавать сложные типы. Создадим сложный тип, который бы хранил список перечислений в поле int.

Читать далее Список перечислений в entity framework

Делаем свою реализацию RemoteAttribute (asp.net-mvc)

В asp.net-mvc атрибут RemoteAttribute используется для того чтобы на клиенте удаленно проверять правильно ли пользователь ввел значение.  Это удобно, к примеру, когда нужно проверить существующий email или ник. Но недочет в том, что на самом сервере не производится повторная проверка после того, когда пользователь нажимает на кнопку submit. Исправим этот недочет.

Читать далее Делаем свою реализацию RemoteAttribute (asp.net-mvc)

Пользовательские атрибуты для валидации в asp.net-mvc

Для того чтобы реализовать пользовательский атрибут, нужно наследоваться от ValidationAttribute и переопределить свой метод IsValid. Реализуем атрибут который будет проверять дублирующие объекты по определенному полю.

Читать далее Пользовательские атрибуты для валидации в asp.net-mvc

Создаем свои шаблоны в EditorTemplates (asp.net-mvc)

В папке EditorTemplates располагаются шаблоны, которые можно вызывать посредством htmlhelper-ов @Html.EditorFor и @Html.Editor. Создадим шаблон для текстового поля

Читать далее Создаем свои шаблоны в EditorTemplates (asp.net-mvc)

Транслитерация на C#

При создании ссылок необходимо транслитерировать русские символы в латинские. Я использую класс позаимствованный по ссылке http://usanov.net/748-transliteraciya-rus-2-lat-na-c, немного переписав его в

Читать далее Транслитерация на C#

Реализация патерна PRG в asp.net mvc

PRG —  post redirect get. Все POST параметры записываются в сессию, и делается редирект на GET. После чего параметры запроса восстанавливают из сессии. Это удобно когда имеются два метода один метод GET который представляет форму, а второй метод POST который сохраняет эти данные . И в случае ошибки делается редирект на форму с уже заполненными неправильными данными.

Читать далее Реализация патерна PRG в asp.net mvc

Ninject и AOP

Ninject имеет много расширений. Одно из полезных расширений это Ninject.Extensions.Interception.DynamicProxy. Данное расширение позволяет перехватывать вызовы методов, что позволяет вынести сквозную функциональность из наших модулей. Установим данный пакет и вынесем логику работы с транзакциями в Intercepter (перехватчик).

Читать далее Ninject и AOP