0

ワークアウト用の Web アプリケーションを作成しています。ワークアウト日が読み込まれると、各エクササイズの一連のテキスト ボックスを含む FORM が表示され、繰り返しの量と各セットの重量が記録されます。各エクササイズには、異なる量のセットが必要です。

私は、ExerciseReference エンティティ クラス/データベース テーブルからの演習のリストと、ユーザーがフォームに入力して送信するデータを記録するためのエンティティ クラスの 2 つのオブジェクト タイプを保持するクラスを作成しました。

私のモデルは次のようになります。

public class ExerciseListModel
{
    public List<ExerciseRef> exercises { get; set; }
    public ExerciseREC recordedExercises { get; set; }
}

各エクササイズの担当者とウェイトのテキスト ボックスを作成すると、Razor HTML は次のようになります。

 @foreach(ExerciseRef item in Model.exercises)
        {
            <div class="editor-label">
            <h3>@item.Name.ToString()</h3>
            </div>
            <p>@item.Description.ToString()</p>

                for (int i = 0; i < item.NumberOfSets; i++)
                {                        
                   <text>Set #: </text> @(i + 1)<br />
                   <text>REPS: </text> @Html.TextBoxFor(m => m.recordedExercises.Set1Reps)<br />
                   <text>WEIGHT: </text> @Html.TextBoxFor(m => m.recordedExercises.Set1Weight) <br /><br />

                }

        }

基本的に、これは foreach ループ内の for ループです。foreach ループはすべてのエクササイズの HTML リストを作成し、for ループは担当者とウェイトのテキスト ボックスを作成します。

次の行の Set1Reps の数値が必要です。

 @Html.TextBoxFor(m => m.recordedExercises.Set1Reps)

動的であり、ループで増加します。セット 1 には Set1Reps が必要で、セット 2 には Set2Reps に変更する必要があります。

どうすればそれを行うことができるのでしょうか?

4

1 に答える 1

1

データ モデルを変更して、recordedExcercises プロパティのコレクションとしてセットと担当者を含めるようにします。次に、演習のコレクション全体を反復するように、それらを反復できます。

于 2012-11-08T04:45:58.413 に答える