2011-07-28 10 views
6

मुझे नेट के आंशिक दृश्य की आवधिक ताज़ा करने की आवश्यकता है। यह अजाक्स के साथ काम कर रहा है। एक्शनलिंक, आवधिक रीफ्रेश के लिए एक समान सुविधा है? क्या मैं jQuery का उपयोग किए बिना कर सकता हूं?समय-समय पर आंशिक दृश्य (एएसपी.नेट एमवीसी) रीफ्रेश करें

+0

जांच इस http://stackoverflow.com/questions/3167116/asp-net-mvc-refresh-table-data-every-5-seconds – raym0nd

+0

आप अपने HTML के में इस डाल सकता है: <मेटा HTTP-इक्विव = "रिफ्रेश" सामग्री = "10"> – raym0nd

+0

क्या जेएस के बिना करना संभव है? –

उत्तर

9

जेन, आप इसे इस तरह एक कोड से कर सकता है:

function loadPartialView() { 
    $.ajax({ 
    url: "@Url.Action("ActionName", "ControllerName")", 
    type: 'GET', // <-- make a async request by GET 
    dataType: 'html', // <-- to expect an html response 
    success: function(result) { 
       $('#YourDiv').html(result); 
      } 
    }); 
} 

$(function() { 

    loadPartialView(); // first time 

    // re-call the function each 5 seconds 
    window.setInterval("loadPartialView()", 5000); 

}); 

अपने कार्य एक PartialView लौट जाना न भूलें। मुझे आशा है कि यह आपकी मदद करेगी!

+0

मैं गैर jQuery की तलाश में था लेकिन वैसे भी, धन्यवाद (+1)। –

+0

यह क्रोम और फ़ायरफ़ॉक्स में मेरे लिए काम करता था, लेकिन आईई 9 में नहीं (अन्य आईई की कोशिश करने से परेशान नहीं था), लेकिन अभी के लिए, यह काफी अच्छा है। +1 – Yetti

2

शायद this आपकी मदद कर सकता है। आप एमवीसी का किस संस्करण का उपयोग कर रहे हैं? आप एक सहायक विधि के लिए निर्दिष्ट समय अंतराल सेट कर सकते हैं। यह एकमात्र तरीका है जिसे मैंने जेएस का उपयोग किए बिना देखा है।

+0

मैं एमवीसी 2, वीएस 2010 –

+0

का उपयोग कर रहा हूं, तो आपको इस विधि का उपयोग करने में परेशानी हो सकती है। लेकिन यह एकमात्र तरीका है जिसे मैंने जेएस का उपयोग किये बिना ऐसा करने के लिए देखा है, बाकी सब कुछ जेएस से संबंधित है। –

+1

असल में, यह जेएस का उपयोग कर रहा है लेकिन जेएस बस एम्बेडेड है। –

0

इसे आजमाएं।

$(document).ready(function() { 
      var url = "@(Html.Raw(Url.Action("ActionName", "ControllerName")))"; 
      $("#PartialViewDivId").load(url); 
     setInterval(function() { 
      var url = "@(Html.Raw(Url.Action("ActionName", "ControllerName")))"; 
      $("#PartialViewDivId").load(url); 
     }, 30000); //Refreshes every 30 seconds 

     $.ajaxSetup({ cache: false }); //Turn off caching 
    }); 

यह div लोड करने के लिए प्रारंभिक कॉल करता है, और उसके बाद बाद की कॉल 30 सेकंड अंतराल पर होती है।

नियंत्रक अनुभाग में आप ऑब्जेक्ट को अपडेट कर सकते हैं और ऑब्जेक्ट को आंशिक दृश्य में पास कर सकते हैं।

public class ControllerName: Controller 
{ 
    public ActionResult ActionName() 
    { 
     . 
     . // code for update object 
     . 
     return PartialView("PartialViewName", updatedObject); 
    } 
} 
संबंधित मुद्दे