Как получить привязку модели для работы с настраиваемым объектом в ASP.NET MVC?

Я хотел бы использовать привязку модели ASP.NET MVC для многофункционального клиентского приложения. У меня есть следующее действие контроллера:

public ActionResult CreateUser(User profile)

Ранее с формами HTML, если имена входных данных HTML формы совпадают с именами свойств User, привязка модели происходит автоматически.

Я понимаю, что привязка модели также ищет в данных маршрута и querystring значения для привязки к сущности, но когда я помещаю значения строки запроса, соответствующие свойствам, я получаю 404.

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


person Matthew    schedule 09.07.2010    source источник
comment
какую многофункциональную клиентскую платформу вы используете? Это размещение или получение этого URL-адреса? Как именно выглядит URL-адрес?   -  person Mauricio Scheffer    schedule 09.07.2010
comment
Спасибо Маурисио, богатым клиентом является Silverlight, работа над клиентом еще не проводилась, поскольку проект только начинается. В настоящее время мы просто создаем серверную часть. Спасибо за напоминание, приму предыдущие вопросы   -  person Matthew    schedule 12.07.2010


Ответы (1)


Вы всегда можете реализовать собственный связыватель модели (интерфейс IModelBinder). Тогда вы можете использовать это так:

public ActionResult CreateUser([ModelBinder(typeof(MyUserModelBinder))]User profile)

или зарегистрируйте его как связыватель глобальной модели при запуске приложения:

ModelBinders.Binders[typeof(User)] = new MyUserModelBinder();

Но, возможно, сначала вам следует посмотреть, как работает DefaultModelBinder. .
Я думаю, что если вы назовете свои поля ввода, например, «profile.Name», «profile.Gender», все должно работать нормально.

person driushkin    schedule 02.02.2011