Asp.net mvc ModelState.IsValid无效。为什么我可以创建用户?
更新:找到我认为是modelState的原因。isValid为false。 该模型有7个属性。。。我发现这个模型从一个视图中只接收到6个属性 我的复选框未发送到控制器?我应该做什么额外的配置来实现它 这是一种观点:Asp.net mvc ModelState.IsValid无效。为什么我可以创建用户?,asp.net-mvc,asp.net-mvc-4,model,Asp.net Mvc,Asp.net Mvc 4,Model,更新:找到我认为是modelState的原因。isValid为false。 该模型有7个属性。。。我发现这个模型从一个视图中只接收到6个属性 我的复选框未发送到控制器?我应该做什么额外的配置来实现它 这是一种观点: @using (Ajax.BeginForm("Register", "Account", new AjaxOptions { HttpMethod = "POST", OnSuccess = "closeDialog('RegistroUsuario', '<b>Us
@using (Ajax.BeginForm("Register", "Account", new AjaxOptions { HttpMethod = "POST", OnSuccess = "closeDialog('RegistroUsuario', '<b>Usuário cadastrado com Sucesso!</b>', true)" }, new { id = "FormRegistroUsuario" }))
{
<fieldset>
<legend>Cadastro novo Usuário</legend>
<table id="changePassword">
<tr>
<td class="smallField">Username:</td>
<td>@Html.TextBoxFor(m => m.UserName,new { @class = "validate[required]" }) @Html.ValidationMessage("usernameVal", "*")</td>
</tr>
<tr>
<td>Password:</td>
<td>@Html.PasswordFor(m => m.Password, new { @class = "validate[required]" }) @Html.ValidationMessage("passwordVal", "*")</td>
</tr>
<tr>
<td>Repetir Senha:</td>
<td>@Html.PasswordFor(m => m.ConfirmPassword, new { @class = "validate[required,equals[Password]]" }) @Html.ValidationMessage("senhaVal", "*")</td>
</tr>
<tr>
<td>Email:</td>
<td>@Html.TextBoxFor(m => m.Email, new { @class = "validate[required,custom[email]]" }) @Html.ValidationMessage("emailVal", "*")</td>
</tr>
<tr>
<td>Pergunta Secreta:</td>
<td>@Html.TextBoxFor(m => m.SecretQuestion, new { @class = "validate[required]" }) @Html.ValidationMessage("secretVal", "*")</td>
</tr>
<tr>
<td>Resposta:</td>
<td>@Html.TextBoxFor(m => m.SecretQuestionPassword, new { @class = "validate[required]" }) @Html.ValidationMessage("awnserVal", "*")</td>
</tr>
<tr>
<td>Ativo:</td>
<td><input type="checkbox" name="status" id="status" value="Ativo" data-val="true"/> @Html.ValidationMessage("activeVal", "*")</td>
</tr>
</table>
<input type="submit" value="Criar Usuário" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only button-link"/>
</fieldset>
}
我终于找到了阿恩瑟。 这个模型真的不一致。输入复选框未发送到模型,因此导致model.isValid为false 我使用一个帮助器html复选框来解决这个问题
<td>@Html.CheckBoxFor(m => m.Active)</td>
非常感谢 仅凭控制器代码很难说,您是否使用自定义成员资格提供程序?这是我的提供程序:
<td>@Html.CheckBoxFor(m => m.Active)</td>
bool checkvalue = bool.Parse(Request.Form.GetValues("Active")[0]);