यदि यह एक आंशिक दृश्य है जिसे आप serverthen डेव की विधि पर एक दृश्य में प्रस्तुत कर रहे हैं तो सबसे अच्छा काम करेगा। बस अपने कोड को डोम तैयार घटना में वायर-अप करें।
$(document).ready(function(){
//Javascript logic to fire goes here
});
या आप आशुलिपि संस्करण prever अगर ...
$(function(){
//Javascript logic to fire goes here
});
आप एक आंशिक मानना है कि अजाक्स के माध्यम से भरी हुई जा रही है तो एक ही विधि का काम करेंगे प्रतिपादन कर रहे हैं। jQuery अगर मैं सही ढंग से याद करता हूं तो डीओएम से जुड़ा हुआ हो जाने पर एचटीएमएल के माध्यम से क्लाइंट को वापस भेज दिया गया एचटीएमएल में जावास्क्रिप्ट चलाएगा (डीओएम से जुड़ा हुआ एक बार फायरिंग के बारे में मुझे याद आ रही है, लेकिन मुझे विश्वास है load()
विधि की एक विशेषता है), यह मानते हुए कि जावास्क्रिप्ट को आप चलाने के लिए चाहते हैं प्रतिक्रिया में है। यदि यह अजाक्स अनुरोध भेजते हुए मूल पृष्ठ में है तो आप पूरी स्थिति में इसे हुक करने के लिए सबसे अच्छी शर्त है।(मैं यहाँ क्लाइंट की तरफ पैरामीटर पॉप्युलेट कर रहा हूँ)
$("#wrapperAwaitingContent").load("/Grids/MyGridPartial", {id: null /*parameters*/}, function(text, status, xhr){
//Javascript logic to fire goes here
});
मेरे लिए .load()
कॉल में उपयोग किए यूआरएल सर्वर पर UrlHelper का उपयोग कर
$("#wrapperAwaitingContent").load("@Url.Action("MyGridPartial", "Grids")", {id: null /*parameters*/}, function(text, status, xhr){
//Javascript logic to fire goes here
});
तुम भी का विकल्प होता है हल हो गई है Unobtrusive अजाक्स का उपयोग कर ऐसा कुछ कर रहे हैं। (मैं यहाँ सर्वर साइड पर पैरामीटर पॉप्युलेट कर रहा हूँ)
@Ajax.ActionLink("Load Data", "MyGridPartial", "Grids", new { id = null/*parameters*/ }, new AjaxOptions() { UpdateTargetId = "wrapperAwaitingContent", OnComplete="onCompleteMethodName" })
अधिक गुण आप HTML और विधि कॉल करने के प्राप्त करने के लिए तत्व के अलावा अन्य AjaxOptions के लिए सेट कर सकते हैं इसके समाप्त होने पर कर रहे हैं, लेकिन मुझे लगता है मैं 'll पुन: उपयोग के कार्यों के लिए एक साझा जावास्क्रिप्ट फाइल में परिभाषित करने और उन्हें पॉप्युलेट केवल अगर वे पहले से ही वहाँ से आबादी वाले नहीं कर रहे हैं, कुछ इस तरह ...
$("a[data-ajax='true']").each(function() {
var ajaxUpdate = $(this).closest("data-ajax-container");
$(this).attr("data-ajax-update", $(this).attr("data-ajax-update") ? $(this).attr("data-ajax-update") : ajaxUpdate);
$(this).attr("data-ajax-mode", $(this).attr("data-ajax-mode") ? $(this).attr("data-ajax-mode") : "replace");
$(this).attr("data-ajax-success", $(this).attr("data-ajax-success") ? $(this).attr("data-ajax-success") : "AjaxSuccess");
$(this).attr("data-ajax-complete", $(this).attr("data-ajax-complete") ? $(this).attr("data-ajax-complete") : "AjaxComplete");
$(this).attr("data-ajax-failure", $(this).attr("data-ajax-error") ? $(this).attr("data-ajax-error") : "AjaxError");
});
तुम्हारा मतलब है "सर्वर पर JavaScript चला जब वह एचटीएमएल के आधे प्रदान की गई है? " –
असल में, मुझे आंशिक दृश्य प्रस्तुत करने के बाद क्लाइंटसाइड पर आंशिक दृश्य द्वारा प्रदान किए गए डेटा (मॉडल) तक पहुंच की आवश्यकता है। मैंने जावास्क्रिप्ट फ़ंक्शन को बंद करने के कई तरीकों की कोशिश की है ताकि मैं कुछ क्लाइंटसाइड कोड चला सकूं जो मॉडल के खिलाफ हेरफेर करेगा, लेकिन मैंने जो भी प्रयास किया है वह गंभीर रूप से असफल रहा है। –