2011-09-21 4 views
7

대량 업데이트 페이지를 갖고 싶지만 문제가있는 모델이 있습니다.IEnumerable 용 mvc3 형식

내 뷰 모델 : 내보기에서

public class ApproveView 
{ 

    public IEnumerable<MyObject> ObjectList { get; set; } 

} 

나는이 :

foreach (var item in Model.ObjectList) 
{ 
    <div> 


    <table class="form" width="100%"> 
     <tr> 

      <td>@Html.LabelFor(model => item.Accurate)<br /> 
      @Html.RadioButtonFor(model => item.Accurate, true) Yes 
      @Html.RadioButtonFor(model => item.Accurate, false) No 
      @Html.ValidationMessageFor(model => item.Accurate) 
      </td> 
      <td> 
      @Html.LabelFor(model => item.Comments)<br /> 
      @Html.TextAreaFor(model => item.Comments)<br /> 
      @Html.ValidationMessageFor(model => item.Comments) 
      </td> 
     </tr> 

    </table> 

    @Html.HiddenFor(model => item.ID) 
    @Html.HiddenFor(model => item.CreatedOn) 
    @Html.HiddenFor(model => item.CreatedBy) 
    @Html.HiddenFor(model => item.ModifiedOn) 
    @Html.HiddenFor(model => item.ModifiedBy) 
    <hr /> 
} 

이것은 내 개체를 통해 루프하고 양식을 인쇄합니다. 문제는 동일한 유형의 모든 필드가 동일한 이름을 갖고 있다는 것입니다. 예를 들어, 모든 라디오 버튼이 연결되어 있고 하나만 선택할 수 있습니다.

각 필드의 이름을 고유하고 해당 개체와 연결하려면 어떻게해야합니까? 나는 옳은 길을 가고 있는가? 아니면 이것을 할 수있는 더 좋은 방법이 있는가?

답변

0

또한 좀 더 수동으로 할 수 있습니다 :

@{var count = 0;} 
    @foreach (var item in Model.ObjectList){ 
      <div> 
       <table class="form"> 
        <tr> 
         <td>@Html.Label("Accurate" + count, item.Accurate)<br /> 
          @Html.RadioButton("AccurateTrue" + count, true) Yes 
          @Html.RadioButton("AccurateFalse" + count, false) No 
          @Html.ValidationMessage("ValidationAccurate" + count, item.Accurate) 
         </td> 
         <td> 
          @Html.Label("CommentsLabel" + count, item.Comments)<br /> 
          @Html.TextArea("Comments" + count, item.Comments)<br /> 
          @Html.ValidationMessage("ValidationComment" + count, item.Comments) 
         </td> 
        </tr> 
       </table> 
       @Html.Hidden("ID" + count, item.ID) 
       @Html.Hidden("CreatedOn" + count, item.CreatedOn) 
       @Html.Hidden("CreatedBy" + count, item.CreatedBy) 
       @Html.Hidden("ModifiedOn" + count, item.ModifiedOn) 
       @Html.Hidden("ModifiedBy" + count, item.ModifiedBy) 
       <hr /> 
       @count++; 
@} 
+0

안녕하세요. 나는 아주 새로운 .net. 컨트롤러의 저장 코드는 어떻게 이런 식으로 보일까요? 나는 그것을 표시 할 수 있지만 내 모델에 저장하는 방법을 알아낼 수 없습니다. – lovefaithswing