2011-04-03 16 views
10

मैं सी # MVC के साथ एक मास्टर/विवरण बनाने के लिए नमूना कोड रहा हूँ 3.मास्टर-विस्तार से नमूना कोड

विशेष रूप से, मैं यह पता लगाने की कैसे कॉल करने के लिए कोशिश कर रहा हूँ AJAX के माध्यम से आंशिक दृश्य की प्रतिपादन के माध्यम से। मैं फॉर्म पर आंशिक दृश्य डालने में सक्षम हूं लेकिन उपयोगकर्ता ने एजेक्स के माध्यम से किसी चयन सूची से किसी आइटम को चुनने के बाद इसे पॉप्युलेट करना चाहते हैं।

THX

+0

क्या आप अभी तक अपना कोड पोस्ट कर सकते हैं? – gideon

उत्तर

13

हमेशा की तरह आप मॉडल के साथ शुरू:

public class MyViewModel 
{ 
    public int Id { get; set; } 
    public string Title { get; set; } 
} 

public class DetailsViewModel 
{ 
    public string Foo { get; set; } 
    public string Bar { get; set; } 
} 

तो एक नियंत्रक:

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     // TODO: don't hardcode, fetch from repository 
     var model = Enumerable.Range(1, 10).Select(x => new MyViewModel 
     { 
      Id = x, 
      Title = "item " + x 
     }); 
     return View(model); 
    } 

    public ActionResult Details(int id) 
    { 
     // TODO: don't hardcode, fetch from repository 
     var model = new DetailsViewModel 
     { 
      Foo = "foo detail " + id, 
      Bar = "bar detail " + id 
     }; 
     return PartialView(model); 
    } 
} 

और इसी विचारों।

~/Views/Home/Index.cshtml:

@model IEnumerable<MyViewModel> 

<ul> 
    @Html.DisplayForModel() 
</ul> 

<div id="details"></div> 

<script type="text/javascript"> 
    $(function() { 
     $('.detailsLink').click(function() { 
      $('#details').load(this.href); 
      return false; 
     }); 
    }); 
</script> 

~/Views/Home/Details.cshtml:

@model DetailsViewModel 
@Model.Foo 
@Model.Bar 

~/Views/Home/DisplayTemplates/MyViewModel.cshtml:

@model MyViewModel 
<li> 
    @Html.ActionLink(Model.Title, "details", new { id = Model.Id }, new { @class = "detailsLink" }) 
</li> 
+0

यह बहुत अच्छा काम किया। हालांकि मुझे समस्या/प्रश्न का पालन करना है। तो मैं एक वृक्षदृश्य पर चयन के आधार पर # विवरण अनुभाग में आंशिक दृश्य लोड कर रहा हूं। यह काम। वर्तमान में, उपयोगकर्ता विवरण के बाद 'सहेजें' हिट करने के बाद क्या हो रहा है यह है कि पूरा पृष्ठ लोड हो गया है और यह 'सेव' कहता है। मदद? # विवरण अनुभाग में मैं एक फॉर्म के साथ आंशिक दृश्य डाल रहा हूं। जब उपयोगकर्ता 'सेव' हिट करता है तो मैं एक बार फिर से # विवरण अनुभाग में 'सफल सहेजें' रखना चाहता हूं। लेकिन ध्यान दें कि यह फॉर्म अजाक्स प्रतिक्रिया से है और अब मैं # विवरण में AJAX से एक और प्रतिक्रिया चाहता हूं। – David

1

मैं मास्टर विस्तार प्रपत्र बनाने जहां n बच्चे जोड़ सकते हैं asp.net MVC के उपयोग के बारे में blogged है साथ clitn पक्ष पर रिकॉर्ड केवल बच्चों के रिकॉर्ड के लिए संपादक फ़ील्ड लाने के लिए AJAX अनुरोध भेजने की आवश्यकता को बाहर निकालें। यह jquery टेम्पलेट्स का उपयोग किया गया

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