好的,所以我写一个视图来接收以下模型:
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; }
}
这个想法是向用户呈现向导视图。第一页是他们可以选择一门课程的课程列表。然后单击“下一步”,将显示一个人员列表,并可以进行选择。然后再次单击“下一步”以显示他们所选择的内容。
SelectedCourseId很简单,使用javascript来设置隐藏值,但是我无法将所选人员的ID列入SelectedPeopleList列表。
更糟糕的是,我没有使用复选框或类似的东西,我正在制作一个可以打开/关闭的div列表。
以下是选择视图的人员部分:
<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方面缺乏经验,但我的做法是完全愚蠢的吗?我应该采用不同的方式吗?如果可以,请帮忙。
如果可能的话,我当然也希望保持状态,这样我就可以回去,即使刷新后仍然有同样的人打开。
提前致谢
答案 0 :(得分:1)
您可以查看haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx,了解有关IEnumerables模型绑定的工作原理的详细信息。您仍然需要处理将这些项目作为INPUT元素添加到DOM中。