我的POST动作如下:
public ActionResult Create([Bind(Include="userrole,credentials.emailAddress,credentials.password")]User u, string confirmPassword, bool agreeToTerms)
我正在使用默认模型绑定器,凭据是我的User对象上的属性。凭据有两个字段(emailAddress和密码)。如果我删除白名单,则凭证对象将被绑定,一切都按预期工作。但是,如果我提供该白名单,则userrole会被绑定,但复杂属性上的电子邮件和密码不会。我检查了表单值,他们关注的是我列出它们并且它们匹配我的对象。
我错过了什么吗?
答案 0 :(得分:0)
我知道你在二月份问了这个问题,但是如果它仍然有效,你是否指定了你的文本框:
<%= Html.TextBoxFor(x => x.credentials.emailAddress) %>
,
<%= Html.TextBox("credentials.emailAddress") %>
或类似的东西?
关键是您需要确保使用credentials
前缀设置文本框。