div

2010-12-29 13 views
12

में आंशिक दृश्य लोड करें मैं एक कॉलिंग व्यू से एक div में आंशिक दृश्य लोड करने की कोशिश कर रहा हूं, हालांकि आंशिक दृश्य एक नए पृष्ठ में लोड हो जाता है। इसमें बहुत अधिक कोड नहीं है और मैंने अन्य पोस्टों के विभिन्न तरीकों का प्रयास किया है, लेकिन यह अभी भी एक नए पृष्ठ में लोड हो गया है। तो मुझे लगता है कि मुझे कुछ मौलिक याद आ रही है।div

नियंत्रक

[AcceptVerbs(HttpVerbs.Get)] 
public ActionResult Index() 
{ 
    return View(); 
} 

public ActionResult Test() 
{ 
    return PartialView("Test"); 
} 

देखें

<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script> 
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script> 

@using (Ajax.BeginForm("Test", "Home", new AjaxOptions { InsertionMode=InsertionMode.Replace, UpdateTargetId = "mydiv" })) 
{  
    @Ajax.ActionLink("Save", "Test", "Home", new AjaxOptions{ }); 
} 

<div id="mydiv"> 
    @Html.Partial("Test") 
</div> 

PartialView

<h1>Test</h1> 
+2

उत्तर में से एक को स्वीकार करें। –

उत्तर

0

आपका आंशिक जरूरतों बुद्धि होने के लिए अपने कोड के बारे में हीन ajax प्रपत्र टिप्पणियों का

+1

मैं नियंत्रक में Request.IsAjaxRequest() की जांच कर रहा हूं और यह वापस झूठ के रूप में आ रहा है। फॉर्म मार्कअप यह है।

user415394

24

युगल: ASP.NET MVC 3 RC2 में

  • Ajax.* सहायकों अब एमएस AJAX जो jQuery के पक्ष में पदावनत किया गया है, उपयोग करती हैं इसलिए अपनी स्क्रिप्ट समावेशन गलत हैं । आपको jquery
  • शामिल करने की आवश्यकता है आपके पास सबमिट फ़ॉर्म के बिना AJAX फ़ॉर्म है और इस फ़ॉर्म के अंदर एक AJAX लिंक है। इसका कोई अर्थ नहीं निकलता। या तो AJAX फॉर्म या AJAX लिंक का उपयोग करें।

तो अपने कोड लाइनों के बीच में कुछ दिख सकता है:

<script src="@Url.Content("~/scripts/jquery-1.4.4.js")" type="text/javascript"></script> 

@Ajax.ActionLink("Save", "Test", "Home", new AjaxOptions { 
    InsertionMode = InsertionMode.Replace, 
    UpdateTargetId = "mydiv" 
}) 

<div id="mydiv"> 
    @Html.Partial("Test") 
</div> 
12

सिर्फ MicrosoftMvcAjax.js लाइन के बाद अपने पेज (मास्टर पृष्ठ या लेआउट)

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script> 

को यह पंक्ति जोड़ें।

+1

मैं इस के साथ संघर्ष कर रहा था और इस जवाब ने मेरी समस्या तय की। धन्यवाद! – Stephane

1

मुझे लगता है कि आप @Ajax.Actionlink(...)

MVC4 में आप सिर्फ @Scripts.Render("~/bundles/jquery") के बाद बंडल @Scripts.Render("~/bundles/jqueryval") जोड़ सकते हैं या पृष्ठ दृश्य में स्क्रिप्ट खंड में स्क्रिप्ट संदर्भ में जोड़ सकते हैं के बजाय <input type="submit" /> का उपयोग करना चाहिए जैसा कि नीचे दिखाया:

@section scripts 
    { 
    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script> 

    } 

गुड लक ।