如何设置复选框的标签?我查看了一些站点,它们使用 lambda 表达式,但我无法理解它们。我是 asp.net MVC 的新手。
@{
bool chkVal = false;
}
<li>@Html.CheckBox("chksumma",chkVal,new {@value = "5"})</li>
<li>@Html.LabelFor(, "");
如何设置复选框的标签?我查看了一些站点,它们使用 lambda 表达式,但我无法理解它们。我是 asp.net MVC 的新手。
@{
bool chkVal = false;
}
<li>@Html.CheckBox("chksumma",chkVal,new {@value = "5"})</li>
<li>@Html.LabelFor(, "");
这是一个非常好的方法:
<div class="checkbox">
<label>@Html.CheckBoxFor(x => item.IsSelected) @Html.DisplayNameFor(x => item.IsSelected)</label>
</div>
编辑
这在Bootstrap 4中很容易做到。
您只需包装标签并在form-check
标记中输入:
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="defaultCheck1">
<label class="form-check-label" for="defaultCheck1">Default checkbox</label>
</div>
如果您使用的是模型,您可以这样做:
<li>@Html.CheckBoxFor(f=> f.chksumma)</li>
<li>@Html.LabelFor(f=> f.chksumma)</li>
然后使用TGH指出的属性
否则,如果您没有模型,您可以为标签做的就是:
@Html.Label("LabelText")
如果您希望它与项目链接,它会打印一个独立的标签或制作它
<label for="chksumma">LAbelText</label>
如果您真的不想手工制作它,您可以编写自己的 HTML 帮助程序,如下所述 http://develoq.net/2011/how-to-create-custom-html-helpers-for-asp-net-mvc -3 和剃刀视图引擎/
我假设您希望标签在单击时勾选复选框。
在这种情况下,for
HTML<label>
字段的属性必须指向相关输入元素的 ID。
如果您使用的是模型,@Html.CheckBoxFor
将生成一个没有 ID 的复选框,因此您需要在复选框中添加一个 ID,然后将您的标签指向相同的 ID。@Html.NameFor
最简单的方法是使用辅助方法将复选框的名称复制到其 ID 字段中。这是一个例子:
@Html.CheckBoxFor(x => x.Active, new {id=Html.NameFor(x => x.Active)})
<label for="@Html.NameFor(x => x.Active)">Active</label>
生成的 HTML(没有验证属性):
<input id="[0].Active" name="[0].Active" type="checkbox" value="true" />
<input name="[0].Active" type="hidden" value="false" />
<label for="[0].Active">Active</label>
我做了类似的事情,并通过这段代码解决了它
<div class="row">
<div class="col-xs-3">
<label>
@Html.CheckBoxFor(x => x.AdvanceSearch.IsExactPhrase)
@Html.LabelFor(x => x.AdvanceSearch.IsExactPhrase)
</label>
</div> ...
希望对其他人有所帮助
您根本不需要该<label>
标签:
<div class="block mTop20">
@HtmlCheckboxFor(f => f.prop)
@Html.LabelFor(f=>f.prop,"This is the label text")
</div>