我有一个局部视图,我在视图中重复了n次。因此,元素ID重复,JQuery无法正常工作。所以我为id添加了html属性,它运行正常。但是现在我需要在标签中设置'for'属性,以便在单击该文本框的标签时检查我的复选框。这是使用CheckBoxFor Html Helper Method时获得的默认功能。
如何在此方案中为标签设置'for'属性?
答案 0 :(得分:0)
在您的复选框中,添加' id'属性
@Html.CheckBoxFor(m => m.PropertyName, new { id = "PropertyName_" + @Model.Id})
在您的标签中,添加' id' '为'属性
@Html.LabelFor(m => m.PropertyName, "Some message (or it can be empty string)", new { id = "PropertyName_" + @Model.Id, @for="PropertyName_" + @Model.Id})
您应该能够点击文本并选中复选框。只需确保两个元素和@for属性中的id值都完全相同。
注意:LabelFor中的id属性是可选的,以使此功能起作用。我只是设置它,因为如果你不传递HtmlAttributes,那就是Razor默认做的。