白名单模型绑定似乎不适用于复杂属性

时间:2009-02-08 03:24:42

标签: .net asp.net-mvc modelbinders whitelist

我的POST动作如下:

public ActionResult Create([Bind(Include="userrole,credentials.emailAddress,credentials.password")]User u, string confirmPassword, bool agreeToTerms)

我正在使用默认模型绑定器,凭据是我的User对象上的属性。凭据有两个字段(emailAddress和密码)。如果我删除白名单,则凭证对象将被绑定,一切都按预期工作。但是,如果我提供该白名单,则userrole会被绑定,但复杂属性上的电子邮件和密码不会。我检查了表单值,他们关注的是我列出它们并且它们匹配我的对象。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

我知道你在二月份问了这个问题,但是如果它仍然有效,你是否指定了你的文本框: <%= Html.TextBoxFor(x => x.credentials.emailAddress) %>
<%= Html.TextBox("credentials.emailAddress") %>或类似的东西?

关键是您需要确保使用credentials前缀设置文本框。