加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-4 – Html.LabelFor始终显示属性名称而不是值

发布时间:2020-12-16 07:00:44 所属栏目:asp.Net 来源:网络整理
导读:在我的MVC4项目中,我正在显示Checkbox及其相应的Label,以便在单击标签时将检查相应的复选框.但是当我使用@ Html.LabelFor时,它显示属性名称而不是显示其值.此外,当我单击标签时,不会检查相应的复选框.这有什么不对? @for (int i = 0; i Model.AddOns.Count;
在我的MVC4项目中,我正在显示Checkbox及其相应的Label,以便在单击标签时将检查相应的复选框.但是当我使用@ Html.LabelFor时,它显示属性名称而不是显示其值.此外,当我单击标签时,不会检查相应的复选框.这有什么不对?

@for (int i = 0; i < Model.AddOns.Count; i++)
{
    @Html.CheckBoxFor(m => m.AddOns[i].IsActive)
    @Html.LabelFor(m => m.AddOns[i].Name)
    @Html.HiddenFor(m => m.AddOns[i].Id)
}

当我使用DisplayFor时,它会显示值,但不会在单击标签时选中复选框.

解决方法

您希望标签与IsActive的复选框相关,但标签与“名称”相关.所以LabelFor应该引用IsActive属性,标签字符串只是作为第二个参数传入.

我想你想要这个:

@for (int i = 0; i < Model.AddOns.Count; i++)
{
    @Html.CheckBoxFor(m => m.AddOns[i].IsActive)
    @Html.LabelFor(m => m.AddOns[i].IsActive,Model.AddOns[i].Name)
    @Html.HiddenFor(m => m.AddOns[i].Id)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读