我知道,它可能使用Html.CheckBoxFor(C => c.MyBool)获取默认的粘结剂正确的值绑定到在模型对象参数一个控制动作(强类型视图)。
如果我需要在母版的表单中添加“rememberme”复选框,这意味着没有强类型可供使用。
都说登录操作采用下面的类
public class LogOnModel
{
[Required]
[DisplayName("User name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[DisplayName("Password")]
public string Password { get; set; }
[DisplayName("Remember me?")]
public Boolean RememberMe { get; set; }
}
的目的是获取默认的粘结剂映射到用户名和密码,我们可以只创建一个具有正确的名称(用户名/密码)输入。然而这对于RememberMe属性来说是不可能的。为了得到这个工作,我哈得来的广告的隐藏字段的名称RmemberMe然后设置此输入,像这样一个javascript:
$(document).ready(function() {
$('input[id*=chkbRemember]').click(function() {
if ($('input[id*=chkbRemember]').attr('checked')) {
$('input[id *= RememberMe]').val("True");
}
else {
$('input[id *= RememberMe]').val("False");
}
});
});
这会工作,但真的是这样的路吗?
BestRegards
为什么不能命名为“RememberMe”?你使用Html.CheckBox还是只使用'input type =“复选框”'? – dotjoe 2011-04-11 18:34:28
如果我只是将其命名为RememberMe,则不会设置RememberMe属性。我只是使用输入,而不是Html.CheckBox。 Html.Checkbox可能会生成隐藏字段吗? – Banshee 2011-04-11 18:47:37
是的,HtmlHelper CheckBox将生成一个复选框和一个隐藏字段,它们具有相同的名称来处理未选中的/ false值。 – dotjoe 2011-04-11 18:57:06