Установите метку для флажка в бритве
Как установить метку флажка? Я посмотрел на некоторые сайты, и они используют лямбда-выражения, но я не могу их понять. Я новичок в asp.net MVC.
@{
bool chkVal = false;
}
<li>@Html.CheckBox("chksumma",chkVal,new {@value = "5"})</li>
<li>@Html.LabelFor(, "");
Ответы
Ответ 1
Если вы используете модель, которую вы можете сделать:
<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-and-razor-view-engine/
Ответ 2
Я предполагаю, что вы хотите, чтобы метка установила флажок, когда вы нажимаете на нее.
В этом случае атрибут for
поля HTML <label>
должен указывать на идентификатор соответствующего элемента ввода.
Если вы используете модель, @Html.CheckBoxFor
генерирует флажок без идентификатора, поэтому вам нужно будет добавить идентификатор установите метку на тот же идентификатор. Самый простой способ - копировать имя флажка в поле ID с помощью вспомогательного метода @Html.NameFor
. Вот пример:
@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>
Ответ 3
Это действительно хороший способ:
<div class="checkbox">
<label>@Html.CheckBoxFor(x => item.IsSelected) @Html.DisplayNameFor(x => item.IsSelected)</label>
</div>
![Флажок с меткой]()
- Это то, что рекомендуется bootstrap 3.
- Он работает в таблице.
- Вы можете нажать на флажок ИЛИ ярлык, чтобы выбрать этот флажок. (Это важная функция юзабилити.)
- Курсор - это "рука" вместо указателя стрелки.
Ответ 4
Я работал над чем-то подобным и обошел его этим отлаженным кодом
<div class="row">
<div class="col-xs-3">
<label>
@Html.CheckBoxFor(x => x.AdvanceSearch.IsExactPhrase)
@Html.LabelFor(x => x.AdvanceSearch.IsExactPhrase)
</label>
</div> ...
Надеюсь, что это поможет другим.
Ответ 5
Тег <label>
вообще не нужен:
<div class="block mTop20">
@HtmlCheckboxFor(f => f.prop)
@Html.LabelFor(f=>f.prop,"This is the label text")
</div>