मेरे पास आंशिक दृश्य है जिसे एएसपीनेट एमवीसी 3 में एक jQuery मोडल में लोड किया जा रहा है। समस्या यह है कि दृश्य ठीक से रीफ्रेश नहीं कर रहा है। यहां घटनाओं का क्रम दिया गया है:एमवीसी आंशिक दृश्य मॉडल ताज़ा नहीं
1) मुख्य दृश्य में विभिन्न ईवेंट रिकॉर्ड सूचीबद्ध करने वाली तालिका है। घटना विवरण दिखाने के लिए तालिका की प्रत्येक पंक्ति पर एक लिंक है। 2) जब इस तालिका पर लिंक क्लिक किया जाता है, तो आंशिक दृश्य मोडल में लोड होता है।
यह कुछ मामलों में ठीक काम करता है, अन्य मामलों में मॉडल को लोड करने में बहुत लंबा समय लगेगा। आंशिक दृश्य/मोडल बंद करने और मुख्य दृश्य पर तालिका से दूसरे लिंक पर क्लिक करने के बाद, आंशिक दृश्य पिछले लोड से डेटा दिखाएगा लोड करेगा। यह सही ढंग से ताज़ा नहीं है। मुख्य दृश्य पर मॉडल की
परिभाषा: लोड हो रहा है, कृपया प्रतीक्षा करें ...
<script type="text/javascript">
$(document).ready(function() {
$("#EventRegistrantSummary").dialog({
bgiframe: true, autoOpen: false, height: 500, width: 980, resizable: false, modal: true
});
});
function showEventRegistrantSummary(id) {
$.get("/Event/EventRegistrantSummary/" + id, function (data) {
$("#EventRegistrantSummary").html(data);
});
$("#EventRegistrantSummary").dialog('open'); return false;
}
</script>
नियंत्रक:
public PartialViewResult EventRegistrantSummary(Guid id)
{
ModelState.Clear();
Event e = db.Events.Single(ev => ev.ID == id);
return PartialView(e);
}
आंशिक दृश्य:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<model.Event>" %>
<% using (Ajax.BeginForm("EditUpdate", new AjaxOptions { UpdateTargetId="Target", InsertionMode= InsertionMode.Replace}))
{%>
<h6 style="text-align:center">Registration Summary: <%= Model.Name %></h6>
<div style="float:left;width:35%">
<fieldset id="Overview">
<legend>Overview</legend>
<div class="editor-label">
Total Registrants: <%= Model.BoatEventRegistrations.Count() %>
</div>
</fieldset>
</div>
<% } %>
किसी भी मदद की बहुत सराहना की है।
क्या आप नियंत्रक पर 'आउटपुट कैशएट्रिब्यूट' का उपयोग कर सर्वर पर कैशिंग को नियंत्रित करने के इस विधि का उपयोग करने के किसी भी लाभ से अवगत हैं? –
यदि आप एकाधिक क्रियाओं के लिए साझा AJAX कॉल का उपयोग करते हैं या कैश से बचने के लिए बहुत सी विधियां हैं। हम दिए गए नियंत्रण के कारण jQuery के माध्यम से सभी फॉर्म पोस्टों का लगभग 95% संभालते हैं। – Henry