Asp.net mvc 3 如何在razor视图中设置复选框?
默认情况下,我需要选中一个复选框: 我尝试了所有这些,没有检查我的复选框-Asp.net mvc 3 如何在razor视图中设置复选框?,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,默认情况下,我需要选中一个复选框: 我尝试了所有这些,没有检查我的复选框- @Html.CheckBoxFor(m => m.AllowRating, new { @value = "true" }) @Html.CheckBoxFor(m => m.AllowRating, new { @checked = "true" }) @Html.CheckBoxFor(m => m.AllowRating, new { @checked = true }) @Html.Che
@Html.CheckBoxFor(m => m.AllowRating, new { @value = "true" })
@Html.CheckBoxFor(m => m.AllowRating, new { @checked = "true" })
@Html.CheckBoxFor(m => m.AllowRating, new { @checked = true })
@Html.CheckBoxFor(m => m.AllowRating, new { @checked = "checked"})
最后一行中的语法是正确的
@Html.CheckBoxFor(x => x.Test, new { @checked = "checked" })
这肯定行得通。这是正确的语法。如果您有一个现有的模型,并且AllowRating设置为true,那么MVC将自动添加选中的属性。如果AllowRating设置为false,MVC将不会添加属性,但是如果需要,您可以使用上述语法。您应该将
AllowRating
属性设置为true
,最好在控制器或模型中。与其他输入一样,复选框的状态反映属性的值。您可以从控制器或模型中将AllowRating属性设置为true
@Html.CheckBoxFor(m => m.AllowRating, new { @checked =Model.AllowRating })
唯一的选项是在控制器中设置值,如果视图是“创建”,则在
控制器操作添加空模型,并设置如下值:
您可以使用
@Html.CheckBoxFor()
:
或者您也可以通过一个简单的@Html.CheckBox()
:
这对我很有用:
<input id="AllowRating" type="checkbox" @(Model.AllowRating?"checked='checked'":"") style="" onchange="" />
还要考虑到,如果m.AllowRating为false,那么在您的示例中它将无法设置为已检查状态。我使用Razor,对我有效 剃刀代码
@Html.CheckBox("CashOnDelivery", CashOnDelivery) (This is a bit or bool value) Razor don't support nullable bool
@Html.CheckBox("OnlinePayment", OnlinePayment)
C#代码
如果我们在模型中设置“true”,它将始终为true。但是我们想为我的复选框设置选项值,我们可以使用它。这里重要的是复选框“AllowRating”的名称,当我们在数据库中发布值not pass时,它必须是模型中var的名称。
信息技术的形式:
@Html.CheckBox("NameOfVarInModel", true) ;
为了你
@Html.CheckBox("AllowRating", true) ;
我有同样的问题,幸运的是我找到了下面的代码
@Html.CheckBoxFor(model => model.As, htmlAttributes: new { @checked = true} )
不知何故,它没有预选复选框。这就是我在模型中所做的:public bool AllowComments{get;set;}使用新的{@checked=“checked}语法,当页面出现验证错误时,其行为会有点奇怪:当您在浏览器中取消选中它时,提交表单,然后再次显示相同的表单(显示验证错误消息),则复选框将被选中,对吗?这似乎与原始海报的第三次尝试相同;您确定此答案真的带来了一些东西吗?请在此处选中。第一个示例不正确。任何时候出现选中的属性,即使它设置为false或空字符串,都将为true。@Ben这将避免该问题lem:
@Html.CheckBox("CashOnDelivery", CashOnDelivery) (This is a bit or bool value) Razor don't support nullable bool
@Html.CheckBox("OnlinePayment", OnlinePayment)
var CashOnDelivery = Convert.ToBoolean(Collection["CashOnDelivery"].Contains("true")?true:false);
var OnlinePayment = Convert.ToBoolean(Collection["OnlinePayment"].Contains("true") ? true : false);
@Html.CheckBox("NameOfVarInModel", true) ;
@Html.CheckBox("AllowRating", true) ;
@Html.CheckBoxFor(model => model.As, htmlAttributes: new { @checked = true} )
<input type="checkbox" @( Model.Checked == true ? "checked" : "" ) />