2012-01-27 19 views
10

क्या अजाक्स.एक्शनलिंक का उपयोग करते समय कैश को अक्षम करने के लिए वैसे भी है। मुझे आईई में समस्याएं हैं, जिससे मैं किसी आइटम को हटा देता हूं, जो AJAX एक्शनलिंक का उपयोग करता है, फिर यह आंशिक दृश्य को फिर से लोड करता है जिसमें आइटम निहित है, और आइटम वहां फिर से दिखाई देता है (यहां तक ​​कि इसे हटा दिया गया है) अन्य ब्राउज़र पर यह ठीक काम करता है और के रूप मेंएएसपी.नेट एमवीसी - अजाक्स पर कैश को रोकें। एक्शनलिंक्स

@Ajax.ActionLink("x", "RemoveItem", new { id = item.QuoteLineID, enquiryId = item.EnquiryID }, new AjaxOptions() 
    { 
     InsertionMode = InsertionMode.Replace, 
     UpdateTargetId = "Summary" 
    }, new { @class = "delete-link" }) 
+0

http://stackoverflow.com/a/16299281/2057154 – yusuf

+0

हाय, हाँ, मैं टिप्पणी की है कि यह बनाने पोस्ट मेरी समस्या हल: http: //stackoverflow.com/questions/9031487/asp-net-mvc-prevent-cache-on-ajax-actionlinks?noredirect=1#comment11327530_9031542 – CallumVass

उत्तर

12
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")] 
public ActionResult RemoveItem(int id, int enquiryId) 
{ 
    ... 
} 

इरादा या routeValues तर्क का उपयोग अनुरोध करने के लिए एक यादृच्छिक पैरामीटर संलग्न।

+0

यह काम नहीं करता है, मैंने कोशिश की है, केवल आईई – CallumVass

+0

से संबंधित प्रतीत होता है @BiffBaffBoff, फिर लिंक उत्पन्न करते समय एक अतिरिक्त क्वेरी स्ट्रिंग पैरामीटर के रूप में यादृच्छिक संख्या को जोड़ने का प्रयास करें। –

+1

मैंने इसे हल किया, मैंने AjaxOptions में HttpMethod = "POST" का उपयोग किया। लगता है कि चाल – CallumVass

7

मुझे पता है कि आपने कहा है कि आपने इसे एचटीपीपोस्ट का उपयोग करके हल किया है, लेकिन अगर यह पसंदीदा समाधान होने का अंत नहीं होता है, तो यह मेरे लिए काम करता है;

public ActionResult MyAction(string param1) 
{ 
    Response.CacheControl = "no-cache"; 
    ... 
} 
+0

यह मेरे लिए भी काम करता है। धन्यवाद। – liquid

+0

यह मेरे लिए आईई 11 में भी काम करता है – user1929393

3

मैं का उपयोग करके मेरी समस्या हल:

<script type="text/javascript"> 
    $(document).ready(function() { 
     // Disable browser cache Ajax.ActionLinks 
     $.ajaxSetup({ cache: false }); 
    }); 
</script> 
संबंधित मुद्दे