ASP. Net MVC Базовая модель Binder: усиление проверок и улучшенные журналы в разработке для быстрого устранения ошибок - PullRequest
0 голосов
/ 18 февраля 2020

Я заметил, что мы часто теряем время на проблемах связывания модели с MVC Core из-за несоответствия между HTML post и структурой модели.

Иногда, несмотря на правильное соответствие формы с элементами, определенными в модели, связывание не происходит Это может быть вызвано

  • Неправильный тип данных между моделью и html (string, enum, bool, обнуляемый или нет ... Все они могут привести к неожиданному результату в зависимости от случая) .

  • Или мой любимый: случайно определить свойство как поле, забыв { get; set; } справа от него. Это сделает поле publi c, отлично видимым из кода, но оно никогда не будет установлено связывателем модели. Даже после> 15 лет C# это все еще случается со мной.

Есть ли скрытая особенность во внутреннем классе привязки модели, которую я мог бы включить в разработку, чтобы предупредить об этом виде проблемы (из-за расширенных журналов или полных исключений)?

Например, обнаружение попыток сопоставить поле, совпадающее с элементом POSTed вместо свойства, может быть легко выполнено путем отражения в качестве дополнительной необязательной проверки в связывателе модели и это может помочь разработчикам быстрее исправить ошибки.

Спасибо

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