首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ModelBinder不绑定值

ModelBinder不绑定值
EN

Stack Overflow用户
提问于 2009-11-05 09:22:41
回答 2查看 177关注 0票数 0

嗨,我在我的控制器中有一个动作,我在等待ModelBinder将传入的dont数据绑定到我的操作参数,但是它不这样做,我不知道。我只使用TryUpdateModel()手动绑定它们,但不想使用它。属性名称和后置数据是相同的,为什么不能绑定它们?

代码语言:javascript
复制
public class User
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
}

代码语言:javascript
复制
public ActionResult Update(User user)
{
    // TODO
}

发送数据到“我的行动”的javaScript代码:

代码语言:javascript
复制
newData = {
   "FirstName":"Yucel"
   "LastName": "Akpınar",
   "Email": "yucelakpinar",
   "Password": "123456"
}; 

    $.ajax({
       type: "POST",
       dataType: "json",
       data: newData,
       url: "/Profile/Update",
       success: function() {
           debugger;
       }
    });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-05 09:54:40

它不能工作的原因是,请求的有效负载是一个JSON对象,当前的模型绑定器无法解析这个对象(实际上,模型绑定器没有检索它的任何值,值提供者是这样做的)。我们已经在v2中实现了这个场景,但是要使它在v1中工作,您必须自己添加对它的支持。

票数 0
EN

Stack Overflow用户

发布于 2009-11-09 13:28:10

我解决了问题。原因是ModelState无效。

由于验证属性ModelBinder不绑定属性,如果存在NotValid情况.

代码语言:javascript
复制
[MetadataType(typeof(UserMetaData))]
public partial class User
{
    public string FirstName { get; set; }
    ....
    ....
}

public class UserMetaData
{
    [Required]
    [RegularExpression("[a-zA-Z]{2,30}")]
    public string FirstName { get; set; }
    ....
    ....
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1679326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档