Лучшие практики при внедрении IModelBinder [закрыто]

StackOverflow https://stackoverflow.com/questions/1550520

  •  20-09-2019
  •  | 
  •  

Вопрос

Я ищу набор лучших практик для использования при внедрении IModelBinder.

Я прочитал три разные книги по MVC, и каждая из них делает несколько разные вещи в своих реализациях без каких-либо реальных объяснений.

  • В книге Хансельмана, Хаака, Гатри, Конери даже не упоминается IModelBinder
  • Палермо рекомендует расширить DefaultModelBinder вместо прямого внедрения IModelBinder, но я действительно не вижу , как использовать эти преимущества
  • Сандерсон упоминает обновление существующих экземпляров Модели, а также вызов ModelState.SetModelValue() следовать условностям.

Я просто хочу убедиться, что мои связующие модели соответствуют соглашениям, и что я правильно понимаю весь ModelBindingContext.

Какие-нибудь советы, хитрости, ХОРОШИЕ учебные пособия можно порекомендовать?

Это было полезно?

Решение

У К. Скотта Аллена есть несколько советов по привязке моделей:http://odetocode.com/blogs/scott/archive/2009/04/27/6-tips-for-asp-net-mvc-model-binding.aspx.

Другие советы

Я унаследовал от DefaultModelBinder , потому что он автоматически связывает основные свойства в entity .Я улучшил его, так что он также связывает навигационные свойства.My binder сначала выполняет унаследованную привязку, а затем выполняет поиск дополнительных значений свойств навигации в форме.Я думаю, что ваш подход должен зависеть от того, что Вы действительно хотите делать.Вы также можете использовать reflector и посмотреть, что на самом деле стоит за default binder.Это может убедить Вас унаследовать.

Трэвис Иллиг недавно написал действительно хорошую статью в блоге о проверке типов данных при создании пользовательской модели binder.

Я никогда раньше не видел этого совета и подумал, что он действительно хорош, поэтому я хотел добавить эту ссылку: http://www.paraesthesia.com/archive/2012/01/31/data-type-validation-and-model-binding-in-asp-net-mvc.aspx

MVC Futures 2 имеет расширяемая система привязки моделей.Вы можете узнать больше в документации по выпуску по адресу http://aspnet.codeplex.com/releases/view/41742

Просто скачайте "ASP.NET Документация по MVC 2 Futures Extensible Model Binder Documentation"

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top