2011-09-21 4 views
7

मेरे पास एक मॉडल है जिसके लिए मुझे एक बड़ा अद्यतन पृष्ठ चाहिए, लेकिन मुझे परेशानी हो रही है।एमवीसी 3 फॉर्म एक आईनेमेरेबल

मेरे 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 /> 
} 

यह मेरा वस्तुओं से अधिक लूप और फार्म प्रिंट करता है। समस्या यह है कि एक ही प्रकार के सभी क्षेत्रों में एक ही नाम है। तो, उदाहरण के लिए, मेरे सभी रेडियो बटन जुड़े हुए हैं और मैं केवल एक का चयन कर सकता हूं।

मैं प्रत्येक क्षेत्र के लिए अद्वितीय और उस वस्तु से जुड़े नामों के लिए नाम कैसे बना सकता हूं? क्या मैं सही रास्ते पर भी हूं या ऐसा करने का एक बेहतर तरीका है?

उत्तर

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