2013-02-10 43 views
9

सबमिट करने के बाद आंशिक दृश्य अपडेट करें। मैं .NET mvc पर नया हूं। "Afunc" कार्रवाई के मॉडल की बचत होती हैAjax.Beginform

@foreach (var thing in Model) 
{ 
    @Html.Partial("DisplayPartial", thing) 
} 

आंशिक दृश्य "DisplayPartial" मैं फिलहाल

@using (Ajax.BeginForm("Afunc", new AjaxOptions())) 
{ 
    @Html.EditorFor(model => model.AstringThing) 
    @Html.EditorFor(model => model.AintThing) 

    <input type="submit" name="submit" value="Ajax Post" /> 
} 

है में:

एक ध्यान में रखते हुए "DisplayThings" मैं की तरह कुछ है डेटाबेस में और फिर डेटाबेस से सभी "चीजें" पुनर्प्राप्त करने के लिए एक नियंत्रक कार्रवाई पर रीडायरेक्ट करता है और पूरे "प्रदर्शन" दृश्य प्रस्तुत करता है।

मेरा प्रश्न है: जब मैं सबमिटबूटन में से एक दबाता हूं (प्रत्येक "चीज़" सूची के लिए एक सबमिटबटन होता है)। मैं केवल अपने आंशिक दृश्य को अपने परिवर्तन पर पुनः लोड/प्रतिबिंबित करना चाहता हूं। मैं पूरे "प्रदर्शन" दृश्य को फिर से लोड नहीं करना चाहता हूं। मैं यह कैसे करु? अगर मैं सिर्फ आंशिक दृश्य देता हूं तो मैं बाकी सब कुछ खो देता हूं लेकिन वह आंशिक दृश्य।

यदि यह एक बुरा दृष्टिकोण है तो कृपया मुझे निर्देश दें।

अद्यतन:

मैं अभी भी कुछ गलत कर रहा हूँ के रूप में मैं एक नया पृष्ठ में प्रदान की गई आंशिक दृश्य मिलता है। मेरे नियंत्रक:

public ActionResult Afunc(ThingModel thingmodel) 
{ 
    // do 

    return PartialView("DisplayPartial", thingmodel); 
} 

मैं UpdateTargetId और एक ही परिणाम के साथ दोनों onSuccess (एक नया पृष्ठ)

उत्तर

12

का उपयोग कर AjaxOptions कि आपके बस अब new AjaxOptions के रूप में गुजर रहे हैं में की कोशिश की है आप का उपयोग कर लक्ष्य तत्व निर्दिष्ट कर सकते हैं UpdateTargetId संपत्ति:

<div id="unique_thing_id"> 
@using (Ajax.BeginForm("Afunc", new AjaxOptions { UpdateTargetId = 'unique_thing_id' })) 
{  
} 
</div> 

ऊपर, हर "बात" के लिए विशिष्ट आईडी के साथ एक कंटेनर <div id="unique_thing_id"> साथ प्रतिनिधित्व किया है। यह अनुरोध के repsonse के साथ बदल दिया जाएगा। Afunc को केवल विशेष "चीज़" आंशिक रूप से प्रस्तुत करने के लिए बदलें।

+3

मैं आपको जवाब दूंगा क्योंकि आपने कुछ खो दिया था। हालांकि यह केवल 2 चीजों में से एक था जिसे मैंने याद किया था। एक सामान्य मुद्दा भूलना है (नेट सर्फिंग के बाद) इसे अपने लेआउट पेज में जोड़ने के लिए: Andreas

+0

@manojlds मैंने एक नया प्रश्न खोला, क्या आप कृपया इस पर एक नज़र डालें (http://stackoverflow.com/questions/30868493/form-reload-but-partialview-cannot-with-ajax-in -एमवीसी? noredirect = 1 # टिप्पणी49779357_30868493) सवाल? –

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

  • कोई संबंधित समस्या नहीं^_^