2014-10-19 5 views
0

MVC에서보기가 있고 양식을 다시 생성하면 양식 컬렉션을 사용하여 목록을 채 웁니다. 목록이 올바르게 채워지지 않고 목록에 항목이 누락되었다고 확신합니다. 친절하게 내 코드를목록이 채워지지 않습니다 #

int noOfRows=Request.Form["rows"].ConvertToInt()}; 
    int noOfColmn=Request.Form["colmns"].ConvertToInt()}; 

    List<mymodel> list1= new List<mymodel>(); 


        for (int roww = 1; roww < noOfRows; roww++) 
        { 
         list1=new List<mymodel> 
         { 
          new mymodel 
    { 
name=Request.Form["name-" + roww + ""].ConvertToInt() , 
rollno= Request.Form["rollno-" + roww + ""].ConvertToInt(), 
           subjs=new List<mymodel>()} 
         }; 



    for (var colmn = 1; colmn < noOfColmn; colmn++) 
         { 
         var subjs= new List<mymodel> 
         { new mymodel 
         {subjs=Request.Form["subj-" + roww + "-" + colmn + ""].ConvertToInt()} 
         }; 

         } 
        } 

        ViewBag._list1 = list1; 
+1

음, 모든 루프에서 대신 기존 목록에 새 모델을 추가하는 목록 1을 다시 초기화하는 경우는 하나의 목록에서 모델 (마지막 추가) 당신에게 – Steve

답변

3

을 확인 당신은 루프에만 외부 list1 변수를 초기화 할 때 루프 내부의 동일한 목록에 요소를 추가해야합니다.
현재 코드는 매 루프마다 list1 변수를 다시 초기화합니다. 내부 루프는 속성이 subjs이고 다른 것으로 보이는 List<mymodel>과 동일한 작업을 수행합니다.

이 코드를 제안합니다.
물론,이 코드를 테스트 할 수 없으므로이 가상 코드가 요구 사항에 맞는지 알려주십시오.

int noOfRows=Request.Form["rows"].ConvertToInt()}; 
int noOfColmn=Request.Form["colmns"].ConvertToInt()}; 

// Create the list1 just one time here. 
List<mymodel> list1= new List<mymodel>(); 
for (int roww = 1; roww < noOfRows; roww++) 
{ 
    // creates an instance of mymodel 
    mymodel m = new mymodel 
    { 
     name=Request.Form["name-" + roww + ""].ConvertToInt() , 
     rollno= Request.Form["rollno-" + roww + ""].ConvertToInt(), 

     // create the internal list of mymodel 
     subjs=new List<mymodel>()} 
    }; 

    // add the model m to the list1 
    list1.Add(m); 

    // loop to create the internal models 
    for (var colmn = 1; colmn < noOfColmn; colmn++) 
    { 
      mymodel m2 = new mymodel 
      { 
       subjs=Request.Form["subj-" + roww + "-" + colmn + ""].ConvertToInt()} 
      }; 

      // add all the subsequent models to the sublist internal to the first model 
      m.subjs.Add(m2); 
    } 
} 
ViewBag._list1 = list1; 
+0

큰 감사와 함께 루프를 종료를 예 맞습니다. 매번 목록을 초기화했습니다. – Dragon

관련 문제