2011-09-21 11 views
7

大量更新ページが必要なモデルがありますが、問題があります。IEnumerableのmvc3形式

私のViewModel:私の見解では

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

は、これは私のオブジェクトをループして、フォームを印刷します。問題は、同じタイプのすべてのフィールドが同じ名前を持つことです。たとえば、ラジオボタンがすべて接続されていて、選択できるのは1つだけです。

各フィールドの名前を一意にし、そのオブジェクトに関連付ける方法を教えてください。私は正しい道を歩いているのですか、これを行う良い方法がありますか?

答えて

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

こんにちは。私は非常にネットに新しいです。コントローラの保存コードは、このようなものをどのように見えるでしょうか?表示するようにしましたが、私のモデルに保存する方法を理解できません。 – lovefaithswing