0

我想为富客户端应用程序采用 ASP.NET MVC 模型绑定。我有以下控制器操作:

public ActionResult CreateUser(User profile)

以前使用 HTML 表单,只要表单 HTML 输入名称与 的属性名称匹配User,模型绑定就会自动发生。

我了解模型绑定还会查看路由数据和querystring绑定到实体的值,但是当我放置与属性匹配的查询字符串值时,我得到一个404.

我无法让这个ActionResult工作。我是否需要使用与用户类的属性匹配的参数来配置路由?

4

1 回答 1

0

您始终可以实现自定义模型绑定器(IModelBinder 接口)。然后你可以像这样使用它:

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

或在应用程序启动时将其注册为全局模型绑定器:

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

但也许首先你应该看看DefaultModelBinder是如何工作的。
我认为,如果您命名输入字段,例如“profile.Name”、“profile.Gender”,它应该可以正常工作。

于 2011-02-02T20:56:57.967 回答