我只想知道ASP.NET MVC中Html.CheckBoxFor
HTML helper的正确语法。
我想要完成的是让复选框最初被选中一个ID值,这样我就可以在控制器中引用它,看看它是否仍然被选中。
下面是正确的语法吗?
@foreach (var item in Model.Templates)
{
<td>
@Html.CheckBoxFor(model => true, item.TemplateId)
@Html.LabelFor(model => item.TemplateName)
</td>
}
发布于 2014-07-02 01:17:48
我在使用ASP.NET MVC5时遇到了一个问题,CheckBoxFor不会在服务器端验证失败时检查我的复选框,即使我的模型显然将值设置为true。我的Razor标记/代码看起来像这样:
@Html.CheckBoxFor(model => model.MyBoolValue, new { @class = "mySpecialClass" } )
要使其正常工作,我必须将其更改为:
@{
var checkboxAttributes = Model.MyBoolValue ?
(object) new { @class = "mySpecialClass", @checked = "checked" } :
(object) new { @class = "mySpecialClass" };
}
@Html.CheckBox("MyBoolValue", checkboxAttributes)
发布于 2014-11-10 05:53:05
将此放置在模型上:
[DisplayName("Electric Fan")]
public bool ElectricFan { get; set; }
private string electricFanRate;
public string ElectricFanRate
{
get { return electricFanRate ?? (electricFanRate = "$15/month"); }
set { electricFanRate = value; }
}
在你的cshtml中:
<div class="row">
@Html.CheckBoxFor(m => m.ElectricFan, new { @class = "" })
@Html.LabelFor(m => m.ElectricFan, new { @class = "" })
@Html.DisplayTextFor(m => m.ElectricFanRate)
</div>
它将输出以下内容:
如果单击复选框或粗体标签,将选中/取消选中该复选框
发布于 2016-04-01 12:40:33
当绑定回POST时,上面的答案对我都不起作用,直到我在CSHTML中添加了以下内容
<div class="checkbox c-checkbox">
<label>
<input type="checkbox" id="xPrinting" name="xPrinting" value="true" @Html.Raw( Model.xPrinting ? "checked" : "")>
<span class=""></span>Printing
</label>
</div>
// POST: Index
[HttpPost]
public ActionResult Index([Bind(Include = "dateInHands,dateFrom,dateTo,pgStatus,gpStatus,vwStatus,freeSearch,xPrinting,xEmbroidery,xPersonalization,sortOrder,radioOperator")] ProductionDashboardViewModel model)
https://stackoverflow.com/questions/12674572
复制相似问题