2012-11-08 51 views
0

我正在構建一個用於解決問題的Web應用程序。當工作日加載時,它會顯示一個FORM,其中包含一系列用於每個練習的文本框,以記錄每個練習集的重複次數和重量。每個練習都需要不同的數量。TextBoxFor模型在循環中動態遞增

我創建了一個類,它包含兩個對象類型,一個來自ExerciseReference實體類/數據庫表的練習列表,以及一個用於記錄用戶輸入表單並提交的數據的實體類。

我的模型看起來是這樣的:

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

當建立每個練習的代表和權重的文本框,我的剃鬚刀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 /> 

       } 

     } 

所以基本上,這是一個for循環在foreach循環中。 foreach循環生成所有練習的HTML列表,而for循環則生成代表和權重的文本框。

我需要在下面的行Set1Reps數量:

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

是動態的,並與循環遞增。我需要它爲Set 1設置Set1Reps,並設置Set2爲Set2Reps,依此類推。

任何想法我可以怎麼做呢?

回答

1

我會更改您的數據模型,以包含sets和代表記錄的excercises屬性上的集合。然後,您可以像迭代整個練習集一樣遍歷它們。