我正在构建一个用于锻炼的 Web 应用程序。当一个锻炼日加载时,它会显示一个表格,其中包含每个练习的一系列文本框,以记录每组的重复次数和完成的重量。每个练习需要不同数量的组。
我创建了一个包含两种对象类型的类,一个来自ExerciseReference 实体类/数据库表的练习列表,以及一个用于记录用户输入表单并提交的数据的实体类。
我的模型如下所示:
public class ExerciseListModel
{
public List<ExerciseRef> exercises { get; set; }
public ExerciseREC recordedExercises { get; set; }
}
在为每个练习构建 Reps 和 Weights 文本框时,我的 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)
动态并随循环递增。我需要它为 Set 1 设置 Set1Reps,为 Set 2 更改为 Set2Reps,依此类推。
知道我该怎么做吗?