В моем запросе я получаю кучу имен и значений параметров. Как я понимаю, я должен использовать встроенную функцию asp.net mvc TryUpdateModel (modelInstance).
Кажется, что он не работает, как я ожидаю. Мои имена параметров откладываются при капитализации. Это проблема?
Кроме того, у меня есть некоторые пользовательские типы, которым необходим определенный метод для проверки бизнес-логики для преобразования строки в экземпляр этого класса. Где я должен поставить эту логику?Как использовать TryUpdateModel в этом контексте?
ответ
У Стива Сандерсона есть почти целая глава по привязке модели в его недавно опубликованной книге Pro ASP.NET MVC Framework (Apress), которую я действительно рекомендую.
Можете ли вы опубликовать определенный код, с которым у вас возникли проблемы?
Я не думаю, что капитализация имеет значение, но я могу ошибаться.
Если DefaultModelBinder не работает с вашими сложными типами моделей, вам может потребоваться получить собственное собственное связующее устройство. Вот очень упрощенный пример связывания с пользовательской моделью. Я довольно уверен, что DefaultModelBinder может обрабатывать простой объект клиента, определенный здесь: Simple custom model binder
Вот еще одна статья несколько советов о связывании модели и построение собственной модели связующего: 6 Tips for ASP.NET MVC Model Binding и Iterating on an ASP.NET MVC Model Binder.
Я по-прежнему рекомендую книгу Стива Сандерсона, упомянутую выше, потому что у нее есть лучшее объяснение, которое я видел до сих пор, и имеет более сложный пример для настраиваемого связующего объекта (для XDocument).
- 1. Как использовать TryUpdateModel
- 2. Как использовать метод WebClient.DownloadDataAsync() в этом контексте?
- 3. Как использовать позвоночник в этом контексте
- 4. Зачем использовать 'Dial' приложение в этом контексте?
- 5. Что делать в этом контексте?
- 6. Ответ в этом контексте недоступен?
- 7. Как я могу использовать if/then/else в этом контексте?
- 8. Как использовать большой десятичный знак Java в этом контексте?
- 9. Как правильно использовать ссылку ifstream в этом контексте? Ошибка C2248
- 10. Объяснение результатов в этом контексте
- 11. Что {} используется в этом контексте?
- 12. Что означает «^» в этом контексте?
- 13. Значение идентификатора в этом контексте?
- 14. Как вызвать метод интерфейса в этом контексте?
- 15. Как работает переадресация в этом контексте?
- 16. Как работает карта в этом контексте?
- 17. Как отрицательный ноль используется в этом контексте?
- 18. Как работает semaphore.CurrentCount в этом контексте?
- 19. Могу ли я использовать переменную в этом контексте?
- 20. Глобалы плохие! Но следует ли использовать их в этом контексте?
- 21. Неплохая практика использования uint64_t в этом контексте?
- 22. using header() хорошо в этом контексте
- 23. emberjs - объясните расписание. В этом контексте
- 24. В чем смысл * [Symbol.iterator] в этом контексте
- 25. Почему фильтр не работает в этом контексте?
- 26. Почему func undefined в этом контексте?
- 27. имя атрибута не поддерживается в этом контексте
- 28. Что делает оператор двоеточия в этом контексте?
- 29. Почему необходимость связывания в этом контексте
- 30. Использовать TryUpdateModel для привязки частично поставленных значений