0

내 ASP MVC3 사이트의 편집 페이지에는 각 모델 항목에 첨부 된 동적 에이전트 수를 처리하는 코드 부분이 있습니다. 아래의 코드는 불행하게도ASP MVC3 - 여러 항목에 대한 드롭 다운 목록 설정

@for (int i = 0; i < Model.Fixed.Count; i++) 
    { 
     if(!String.IsNullOrWhiteSpace(Model.Fixed[i].AgentId)) 
     { 
      <tr> 
      <td> 
       @Html.DropDownListFor(model => model.Fixed[i].StateCode, 
       (SelectList)ViewBag.StateCodeList) 
      </td> 
      <td> 
       @Html.EditorFor(model => model.Fixed[i].AgentId) 
       @Html.ValidationMessageFor(model => model.Fixed[i].AgentId) 
      </td> 
      </tr>     
     } 
    } 

를 표시하는 테이블 행의 정확한 양을 만드는 데 사용됩니다, 나는 각 에이전트와 관련된 속성 상태 코드를 표시하는 방법을하지 확신합니다.

 SelectList tmpList = new SelectList(new[] { "AL", "AK", "AS", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FM", "FL", "GA", "GU", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MH", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NA", "NM", "NY", "NC", "ND", "MP", "OH", "OK", "OR", "PW", "PA", "PR", "RI", "SC", "SD", "TN", "TX", "UT", "US", "VT", "VI", "VA", "WA", "WV", "WI", "WY" }); 
     ViewBag.StateCodeList = tmpList; 

는 0 ~ 100 에이전트 어디서나있을 수 있기 때문에, 내가로 실행하고 문제가 적절한 상태를 표시 : 지금이 코드 목록 값 드롭 다운 설정을 다루는 컨트롤러에있는 유일한 지역이다 해당 드롭 다운 상자에 해당 상담원과 관련된 코드.

   <td> 
        @Html.DropDownListFor(model => model.Fixed[i].StateCode, 
         (SelectList)ViewBag.StateCodeList, Model.Fixed[i].StateCode) 
       </td> 

답변

0

나는 꽤 빠른 이것에 대한 과부하를 찾는 감아. 가능한 경우 ViewBag를 피해야합니다.
+0

당신은 당신의 뷰 모델에'SelectList'를 이동하는 것을 고려 (당신이하지 않으면 뷰 모델을 사용)해야합니다 –

관련 문제