ワークアウト用の 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 に変更する必要があります。
どうすればそれを行うことができるのでしょうか?