使用嵌套类Foreach ViewModel更新Checkbox List

时间:2012-11-16 00:57:35

标签: asp.net-mvc razor checkbox

我需要根据以下ViewModel更新复选框列表:

namespace ViewModels
{
    public class MemberProfileListViewModel
    {
        public IList<MemberProfileDetailViewModel> MemberProfileDetails { get; set; }
    }

    public class MemberProfileDetailViewModel
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public bool Selected { get; set; }
    }
}

观点:

@model ViewModels.MemberProfileListViewModel

@using (Html.BeginForm()) {

    <fieldset>

    @foreach (var item in ??????)
    {
        <p>@Html.CheckBoxFor(????)</p>
    }
    <p>
        <input type="submit" value="Save" />
    </p>

    </fieldset>
}

控制器:

    public virtual ActionResult EditProfiles()
    {
        var memberProfileListDto = _memberProfileService.ListByMember(WebSecurity.CurrentUserId);

        var memberProfileListViewModel = Mapper.Map<MemberProfileListDto, MemberProfileListViewModel>(memberProfileListDto);

        return View(memberProfileListViewModel);
    }

如何使用Id制作复选框列表以使更新回到控制器?

感谢。

1 个答案:

答案 0 :(得分:1)

目前在此上下文中不支持foreach。尝试使用for构造,

@for (int i=0; i < blah.count; i++ )
{
    <p>@Html.CheckBoxFor(model => model.blah[i].foo)</p>
}