0

我正在构建一个用于锻炼的 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,依此类推。

知道我该怎么做吗?

4

1 回答 1

1

我会更改您的数据模型以包含集合和代表作为记录的Excercises 属性的集合。然后,您可以像遍历整个练习集一样遍历它们。

于 2012-11-08T04:45:58.413 回答