我有动态生成的锻炼和锻炼列表。锻炼是所有锻炼的共同点。 我需要为每次训练传递多个练习曲。 我需要传递这样的数据。对于exercise1,可能有3个练习。对于exercise2,可能有2个练习,依此类推。
查看是:
@using (Html.BeginForm("AddWorkoutSessionExcercises", "Trainer", FormMethod.Post))
{
foreach (var workoutType in Model.WorkoutTypes)
{
<div><span>@workoutType.WorkoutTypeName</span><span class="MandatoryStar">*</span> </div>
<div >
@Html.DropDownList("ExcerciseDDFor", Model.Excercises, null, new { multiple = "multiple"})
</div>
}
我的模特就是这样。回顾锻炼和锻炼的清单。
public class AddSessionExcerciseModel
{
public AddSessionExcerciseModel()
{
Excercises = Utility.GetAllExcercises();
WorkoutTypes = Utility.GetWorkoutTypes();
}
public List<SelectListItem> Excercises { get; set; }
public List<tblWorkoutType> WorkoutTypes { get; set; }
}
我的控制器是:
public ActionResult AddWorkoutSessionExcercises(Guid[] ExcerciseDDFor)
{
// code
}
这是为所有训练传递了所有练习的数组,我无法区分这个练习所属的锻炼。
有没有办法解决这个问题。或者我会为所有锻炼得到Excercises阵列。喜欢:
exercise1 - &gt;数组[2 excercises]
exercise2 - &gt;数组[3 excercises]
exercise3 - &gt;数组[1 excercises]
。
谢谢。
答案 0 :(得分:0)
我认为你需要改变你的模型。现在,你有一个锻炼列表,但只有一个练习列表,所以没有办法告诉哪个锻炼属于哪个锻炼。
恕我直言,tblWorkoutType
每个都应包含练习列表。
在你的行动中,你应该期待一个锻炼列表,每个锻炼都有一个选定的练习列表
public ActionResult AddWorkoutSessionExcercises(List<tblWorkoutType> workouts)
{
// code
}