2012-11-08 3 views
0

나는 운동을위한 웹 응용 프로그램을 구축 중입니다. 운동 일이로드되면 각 운동에 대해 반복 횟수 및 각 집합에 대해 수행 된 가중치를 기록하는 일련의 텍스트 상자가있는 FORM이 표시됩니다. 각 운동마다 다른 양의 세트가 필요합니다.TextBox For 루프에서 동적으로 증가하는 모델

ExerciseReference 엔티티 클래스/데이터베이스 테이블의 연습 문제 목록과 사용자가 양식에 입력하고 제출하는 데이터를 기록하는 엔티티 클래스라는 두 가지 개체 유형을 포함하는 클래스를 만들었습니다.

내 모델은 다음과 같습니다

@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 /> 

       } 

     } 

그래서 본질적으로, 이것은이다 :

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

각 운동에 대한 담당자와 무게 텍스트 상자를 구축, 내 면도기 HTML이 비슷합니다 foreach 루프 내의 for 루프. foreach 루프는 모든 연습의 HTML 목록을 작성하는 반면 for 루프는 담당자 및 가중치의 텍스트 상자를 작성합니다.

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

는 동적 루프로 증가하려면 :

나는 다음 줄에 Set1Reps의 번호가 필요합니다. Set 1에 대해 Set1Reps가 필요하고 Set 2에 대해 Set2Reps로 변경해야합니다.

내가 그 일을 어떻게 할 수 있는지 알기 원하면 어떨까요?

답변

1

데이터 세트가 recordsExcercises 속성에 컬렉션으로 세트와 담당자를 포함하도록 변경했습니다. 그런 다음 전체 연습 컬렉션을 반복하는 것처럼 반복 할 수 있습니다.