2010-07-09 7 views
0

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

public ActionResult CreateUser(User profile) 

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

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

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

+0

какая богатая клиентская платформа вы используете? Это POSTING или ПОЛУЧИТЬ этот URL? Как выглядит URL-адрес? –

+0

Спасибо, Mauricio, богатый клиент Silverlight, на клиенте не было сделано никакой работы, поскольку проект просто начинается с kickstarting. В настоящее время мы создаем задний конец. Благодарим за напоминание, примем предыдущие вопросы – Matthew

ответ

0

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

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

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

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

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