我在剃刀视图中有一个复选框,如下所示
<div class="form-group">
@Html.LabelFor(m => m.Password, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.PasswordFor(m => m.Password, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Password, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<div class="checkbox">
////////// HERE IS THE ONE MALFUNCTIONING //////////////
@Html.CheckBoxFor(m => m.RememberMe)
@Html.LabelFor(m => m.RememberMe)
</div>
</div>
</div>
以上呈现以下html(在浏览器中查看源代码)
<div class="form-group">
<label class="col-md-2 control-label" for="Password">Password</label>
<div class="col-md-10">
<input class="form-control" id="Password" name="Password" type="password" />
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<div class="checkbox">
////////// THERE SEEMS TO BE SOME PROBLEM BELOW WITH THE RENDERING /////////
<input id="RememberMe" name="RememberMe" type="checkbox" value="true" />
<input name="RememberMe" type="hidden" value="false" />
<label for="RememberMe">Remember me?</label>
</div>
</div>
</div>
模型类如下
public class LoginViewModel
{
[Required]
[Display(Name = "Email")]
[EmailAddress]
public string Email { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
我发现这种行为在浏览器中是一致的。 那我错过了什么?
修改
我不知道为什么但删除了开发<div class="checkbox">
。
而不是
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<div class="checkbox">
////////// HERE IS THE ONE MALFUNCTIONING //////////////
@Html.CheckBoxFor(m => m.RememberMe)
@Html.LabelFor(m => m.RememberMe)
</div>
</div>
</div>
如果我删除了一个div标签,那么它现在正常工作。不知道为什么:(。问题是不善于调试css和元素树。不知何故只是随机想出来了。感谢你们所有人的帮助。
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
////////// This is now working fine, not sure though why //////////////
@Html.CheckBoxFor(m => m.RememberMe)
@Html.LabelFor(m => m.RememberMe)
</div>
</div>
答案 0 :(得分:2)
今天遇到这个。罪魁祸首是有人在主css中添加了这段代码。
input[type="checkbox"] {
display: none;
}
能够检查使用F12并挖掘应用于我的对象的所有样式。
在您的情况下,您可能在<div class="checkbox">.
答案 1 :(得分:1)
首先,您需要签入developer's option (F12)
是否呈现HTML中的复选框。
如果您的HTML呈现checkbox
,请检查您的CSS文件。搜索默认复选框或其他内容。必须发表评论。这就是为什么它没有在你的视图上显示它的原因。