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 
}

これは、すべてのワークアウトのすべてのエクササイズの配列を渡していますが、このエクササイズがどのワークアウトに属しているかを区別できません。

この問題を解決する方法はありますか。または、すべてのワークアウトの Excercises 配列を取得する方法はありますか?

ワークアウト1-->配列[2つのエクササイズ]

ワークアウト 2 --> 配列 [3 つのエクササイズ]

ワークアウト 3-->配列 [1 エクササイズ]

. .

ありがとうございました。.

4

1 に答える 1

0

モデルを少し変更する必要があると思います。現在、ワークアウトのリストはありますが、エクササイズのリストは 1 つしかないため、どのエクササイズがどのワークアウトに属しているかを知る方法はありません。

私見、tblWorkoutTypeそれぞれに演習のリストが含まれている必要があります。

アクションでは、選択されたエクササイズのリストを持つワークアウトのリストを期待する必要があります

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