0

我有动态生成的锻炼和锻炼的列表。锻炼是所有锻炼的共同点。我需要为每次锻炼通过多项练习。我需要像这样传递数据。对于锻炼 1,可能有 3 个练习。对于锻炼 2,可能有 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 
}

这是通过所有锻炼的所有练习的数组,我无法区分该练习属于哪个锻炼。

有什么办法可以解决这个问题吗?或者我可以通过任何方式获得所有锻炼的练习数组。比如:

锻炼1-->数组[2个练习]

锻炼2-->数组[3个练习]

锻炼3-->数组[1个练习]

. .

谢谢你。.

4

1 回答 1

0

我认为你需要稍微改变你的模型。现在,您有一个锻炼列表,但只有一个锻炼列表,因此无法判断哪个锻炼属于哪个锻炼。

恕我直言,tblWorkoutType每个都应该包含一个练习列表。

在你的行动中,你应该期待一个锻炼列表,每个都有一个选定的练习列表

public ActionResult AddWorkoutSessionExcercises(List<tblWorkoutType> workouts)
{
// code 
}
于 2013-06-26T07:37:06.007 回答