2011-05-18 4 views
6

मैं एमवीसी के लिए नया हूं, इसलिए मुझे यकीन नहीं था कि सबसे अच्छा तरीका यहां क्या होगा।एएसपी.नेट एमवीसी 3 - jquery संवाद में मॉडल संग्रह में गतिशील रूप से जोड़े गए आइटम संपादित करें

मुझे लगता है कि इस तरह से कई संग्रह में शामिल है एक दृश्य मॉडल है:

public class MainViewModel{  
    public List<AViewModel> A { get; set; } 
    public List<BViewModel> B {get; set; } 
    ...} 

मैं स्टीव सैंडरसन का दृष्टिकोण here उपयोग कर रहा हूँ गतिशील रूप से एक संग्रह में आइटम जोड़ने के लिए, और यह ठीक जब तक बच्चे को आइटम हैं के रूप में काम कर रहा है मुख्य दृश्य पर संपादन योग्य।

मेरी समस्या यह है कि एक संपादन लिंक के साथ केवल पढ़ने की सूची लौटा रही है जो पॉपअप संवाद में संपादित करने के लिए विवरण खोल देगा।

चूंकि इन वस्तुओं को नया जोड़ा जा सकता है, इसलिए मैं आईडी प्रॉपर्टी का उपयोग नियंत्रक से आंशिक दृश्य वापस करने के लिए नहीं कर सकता। ऐसा लगता है कि मैं इस तरह एक छिपा div में संपादकों प्रस्तुत करना होगा:

<div class="AEditorRow"> 
    @using (Html.BeginCollectionItem("A")) 
    {                 
     @Html.DisplayFor(l => l.ID)     

     @Html.DisplayFor(l => l.Name) 

     @Html.DisplayFor(l => l.Code) 

     <a href="#" onclick="$('#detailsPopup').html($(this).parent().find('.ADetails').html()).dialog()">edit</a> <text>|</text> 
     <a href="#" class="deleteRow">delete</a> 

     <div class="ADetails" style="display: none"> 
@using (Html.BeginForm("EditA", "Controller")) 
      {<fieldset> 
       <legend>Location</legend> 
       @Html.HiddenFor(model => model.ID) 
       <div class="editor-label"> 
        @Html.LabelFor(model => model.Code) 
       </div> 

किसी को भी एक बेहतर तरीका पता है यह करने के लिए?

उत्तर

2

मेरे पास एक ही प्रश्न है। अब समाधान की तलाश में है।

इस संसाधन की तरह लगता है मदद कर सकते हैं:

http://www.joe-stevens.com/2011/06/06/editing-and-binding-nested-lists-with-asp-net-mvc-2/

http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/

Model binding nested collections in ASP.NET MVC

5

थोड़ी देर के लिए इस मुद्दे पर काम कर अब मैं माध्यम से गुजरने के जो काम ढूँढने में सक्षम था के बाद मेरे लिए।

http://jarrettmeyer.com/post/2995732471/nested-collection-models-in-asp-net-mvc-3

मुझे लगता है कि इस MVC3 के लिए पूरा नेस्टेड संग्रह वस्तुओं गतिशील रूप से जोड़ा के लिए सर्वाधिक उपयुक्त तकनीक है। मैंने पाया है कि अधिकांश अन्य सुझाव एमवीसी 2 या एमवीसी 1 के लिए थे, और ऐसा लगता है कि एमवीसी के हर पुनरावृत्ति में कुछ बदलावों को पूरा करने का सबसे अच्छा तरीका है।

उम्मीद है कि यह आपके लिए काम करता है।

संबंधित मुद्दे