2011-09-21 49 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