【问题标题】:How do I get model binding to work with a custom object in ASP.NET MVC?如何让模型绑定与 ASP.NET MVC 中的自定义对象一起使用?
【发布时间】:2010-07-09 09:12:10
【问题描述】:

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

public ActionResult CreateUser(User profile)

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

我了解模型绑定还会在路由数据和 querystring 中查找要绑定到实体的值,但是当我输入与属性匹配的查询字符串值时,我会得到 404

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

【问题讨论】:

  • 您使用的是什么富客户端平台?是发布还是获取该 URL?网址到底是什么样的?
  • 感谢 Mauricio,富客户端是 Silverlight,到目前为止,该项目刚刚启动,还没有在客户端上完成任何工作。我们目前正在构建后端。谢谢提醒,会接受之前的问题

标签: c# .net asp.net-mvc modelbinders model-binding


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多