从视图中返回对象列表的选择

Returning a selection of a list of objects from a view

好的,所以我写了一个接收以下模型的视图:

public class OrderCourseViewModel
{
    public Department Department { get; set; }

    public IEnumerable<LocalizedCourse> Courses { get; set; }
    public IEnumerable<Profile> People { get; set; }

    public int SelectedCourseId { get; set; }
    public IEnumerable<int> SelectedPeopleList { get; set; } 

}

这个想法是向用户呈现一个向导视图。第一页是他们可以 select 一门课程的课程列表。然后单击“下一步”,他们会看到一个人员列表,可以制作 selection。然后再次单击“下一步”以查看他们 select 编辑的内容的概述。

SelectedCourseId 使用 javascript 设置隐藏值很简单,但我无法将 selected 人员的 ID 放入列表 SelectedPeopleList.

更糟的是我没有使用复选框或类似的东西,我正在制作一个可以切换的 div 列表 on/off。

这是 Select 视图的人员部分:

<div class="row">
    <div class="wiz2">
        @foreach (var person in Model.People)
        {
            @Html.Partial("_SelectCoursePerson", person)
        }
    </div>
</div>

这里是小_SelectCoursePerson视图

@model Kursbyen.Profile
<div class="col-sm-10 img-rounded course" style="border: solid 1px #000000; padding:15px; margin:10px" onclick="javascript: toggleSelected(this, @Model.Id);">
<div class="col-sm-4"><profile picture></div>
    <div class="col-sm-8" style="padding-right:5px">@Model.LastName, @Model.FirstName</div>
</div>

您可能会说我在 asp 方面有些经验不足,但我的方法是否完全愚蠢?我应该做不同的事吗?有空请帮忙

如果可能的话,我当然也想保持状态,这样我就可以回去,即使在刷新之后仍然可以打开相同的人。

提前致谢

您可以查看 haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx 以了解模型绑定到 IEnumerables 的工作原理的详细信息。您仍然需要处理将这些项目作为 INPUT 元素添加到 DOM 的问题。