Vig*_*esh 20 c# asp.net-mvc asp.net-mvc-4
如何设置复选框的标签?我看了一些网站,他们正在使用lambda表达式,但我无法理解它们.我是asp.net MVC的新手.
@{
bool chkVal = false;
}
<li>@Html.CheckBox("chksumma",chkVal,new {@value = "5"})</li>
<li>@Html.LabelFor(, "");
Run Code Online (Sandbox Code Playgroud)
Jes*_*ess 19
这是一个非常好的方法:
<div class="checkbox">
<label>@Html.CheckBoxFor(x => item.IsSelected) @Html.DisplayNameFor(x => item.IsSelected)</label>
</div>
Run Code Online (Sandbox Code Playgroud)
Mar*_*ord 14
如果您使用的是模型,则可以执行以下操作:
<li>@Html.CheckBoxFor(f=> f.chksumma)</li>
<li>@Html.LabelFor(f=> f.chksumma)</li>
Run Code Online (Sandbox Code Playgroud)
然后使用TGH指出的属性
否则,如果你没有模型,你可以为标签做的就是:
@Html.Label("LabelText")
Run Code Online (Sandbox Code Playgroud)
如果您希望它与项目链接,它会打印一个独立的标签或制作它
<label for="chksumma">LAbelText</label>
Run Code Online (Sandbox Code Playgroud)
如果您真的不想手工制作它,您可以编写自己的HTML帮助程序,如此处所述 http://develoq.net/2011/how-to-create-custom-html-helpers-for-asp-net-mvc -3和-剃刀-视图-发动机/
我假设您希望标签在您单击时勾选复选框.
在这种情况下,forHTML <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>
Run Code Online (Sandbox Code Playgroud)
生成的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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51501 次 |
| 最近记录: |