2013-01-05 11 views
26

मुझे एक छोटा सा संदेह है कि मैं जवाब नहीं दे सका, इसलिए सोचा कि मुझे यहां जवाब मिल सकता है। क्यों हम उपयोग करने के लिएस्क्रिप्ट प्रबंधक नियंत्रण वास्तव में क्या करता है?

<asp:UpdatePanel runat="server"> in out aspx page. 

आशा कुछ एक ही जवाब दे सकते हैं क्रम में

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 

नियंत्रण जोड़ना चाहिए।

उत्तर

28

स्क्रिप्ट मैनेजर नियंत्रण पृष्ठ के साथ Microsoft AJAX लाइब्रेरी के लिए स्क्रिप्ट पंजीकृत करता है। यह क्लाइंट स्क्रिप्ट समर्थन सुविधाओं जैसे आंशिक-पृष्ठ प्रतिपादन और वेब-सेवा कॉल को सक्षम बनाता है। किसी भी कस्टम स्क्रिप्ट

1. माइक्रोसॉफ्ट AJAX पुस्तकालय के क्लाइंट-स्क्रिप्ट कार्यक्षमता, और जो आप चाहते करने के लिए:

आप ASP.NET AJAX की निम्नलिखित विशेषताएं सक्षम करने के लिए एक पृष्ठ पर एक ScriptManager नियंत्रण का उपयोग करना चाहिए ब्राउज़र को भेजें।

protected void Button1_Click(object sender, EventArgs e) 
{ 
    Page.ClientScript.RegisterStartupScript(
     this.GetType(),"myscript","alert('hello world!');"); 
} 

2. आंशिक-पृष्ठ प्रतिपादन, जिसे पृष्ठ पर क्षेत्रों में सक्षम बनाता है स्वतंत्र रूप से एक पोस्टबैक बिना ताज़ा करने। ASP.NET AJAX UpdatePanel, UpdateProgress, और टाइमर नियंत्रण को आंशिक-पृष्ठ प्रतिपादन का समर्थन करने के लिए स्क्रिप्ट मैनेजर नियंत्रण की आवश्यकता होती है। वेब सेवाओं के लिए

3. जावास्क्रिप्ट प्रॉक्सी कक्षाएं, जो सक्षम आप वेब सेवाओं उजागर द्वारा वेब सेवाओं का उपयोग करने के लिए ग्राहक स्क्रिप्ट का उपयोग करने के रूप में दृढ़ता से वस्तुओं टाइप किया है।

[WebMethod] 
public int Add(int a, int b) { return a + b; } 

function CallAdd() 
{ 
    // method will return immediately 
    // processing done asynchronously 
    WebService.Add(0,6, OnMethodSucceeded, OnMethodFailed); 
} 

4. जावास्क्रिप्ट वर्गों ASP.NET प्रमाणीकरण और प्रोफ़ाइल आवेदन सेवाओं का उपयोग करने।

Sys.Services.AuthenticationService.login 
Sys.Services.AuthenticationService.logout 

<script type="text/javascript"> 
    function MyMethod(username, password) 
    { 
     Sys.Services.AuthenticationService.login(username, 
      password,false,null,null,null,null,"User Context"); 
    } 
</script> 

अधिक पर http://msdn.microsoft.com/en-us/magazine/cc163354.aspx

+0

क्या मैं ** माइक्रोसॉफ्ट AJAX लाइब्रेरी ** का उपयोग कर *** के बिना 'ScriptManager' *** का उपयोग कर सकता हूं? – Kiquenet

2

स्क्रिप्ट मैनेजर नियंत्रण AJAX- सक्षम ASP.NET वेब पृष्ठों के लिए क्लाइंट स्क्रिप्ट प्रबंधित करता है। तो UpdatePanel या किसी अन्य AJAX नियंत्रणों का उपयोग करने के लिए, हमें शुरुआत में ScriptManager नियंत्रण का उपयोग करना होगा।

13

ऊपर जवाब इसके अलावा, मैं ScriptManager नियंत्रण का उपयोग करने के पीछे कारण के लिए कुछ बिंदुओं को जोड़ना चाहते हैं। आपके द्वारा UpdatePanel और ScriptManager का उल्लेख किया गया नियंत्रण ASP.NET AJAX सक्षम साइटों के लिए उपयोग किया जाता है।

  • हम उन्हें इस्तेमाल करते हैं, सबसे पहले, क्योंकि पारंपरिक वेबपेजों में पूरे पृष्ठ एक पोस्टबैक के बाद भरी हुई है, HTML ब्राउज़र के लिए भेजा बहुत बड़ा की तुलना में यह करने की जरूरत है।
  • दूसरा, क्योंकि पूरे पृष्ठ बदल दिया जाता है, ब्राउज़र पुराने खारिज करने के लिए और उसके बाद नया एक आकर्षित है। यह पृष्ठ को "झिलमिलाहट" का कारण बनता है, जिसके परिणामस्वरूप एक अप्रिय उपयोगकर्ता अनुभव होता है। enter image description here

ScriptManager नियंत्रण ग्राहक पेज और सर्वर के बीच सेतु के रूप में कार्य करता है। चूंकि यह एक पुल की तरह है, तो आपको इस नियंत्रण का उपयोग करना होगा यदि किसी अन्य AJAX नियंत्रण को जोड़ने की आवश्यकता है। यह स्क्रिप्ट संसाधन (ग्राहक पर इस्तेमाल किया जावास्क्रिप्ट फ़ाइलें) का प्रबंधन करता है पहले दिखाया गया है आंशिक-पेज के अपडेट का ख्याल रखता है, और वेब सेवाओं और ASP.NET आवेदन सेवाओं जैसी चीजों के लिए अपने वेब साइट के साथ बातचीत के हैंडल जैसे सदस्यता, भूमिकाएं, और प्रोफ़ाइल। जब भी UpdatePanel के भीतर नियंत्रण में से कोई एक पोस्टबैक सर्वर पर करता है, तो केवल उस अद्यतन पैनेल के भीतर की सामग्री को ताज़ा किया जाता है।

आप डेटा ब्राउज़र ( फ़िडलर या Wireshark की तरह एक नेटवर्क विश्लेषण उपकरण का उपयोग) के सर्वर से भेजा जाता है कि विश्लेषण, तो आप देखेंगे कि डेटा का केवल एक सीमित मात्रा में ग्राहक के लिए भेजा जाता है।

आप आम तौर पर एक सामग्री पेज में सीधे ScriptManager नियंत्रण जगह अगर आपको लगता है कि आप केवल पृष्ठों की एक मुट्ठी पर अजाक्स क्षमताओं की जरूरत है।

आप अपने ASPX पृष्ठों, आप मास्टर पृष्ठ में ScriptManager जगह कर सकते हैं के कई में अजाक्स कार्यक्षमता का उपयोग करने जा रहे हैं, तो यह सभी पृष्ठों है कि इस मास्टर पर आधारित हैं में उपलब्ध अगर।, तो:

आपको प्रति पृष्ठ केवल (डी यानी केवल एक पुल, दो पुलों वहाँ होता है अगर उस पन्ने को अनुरोध/प्रतिक्रिया कहाँ जाना है से !? भ्रमित हो सकता है) एक ScriptManager हो सकता है यदि आप किसी मास्टर पेज में कोई जोड़ते हैं, तो आप सामग्री पृष्ठ पर कोई अन्य नहीं जोड़ सकते हैं। ScriptManager नियंत्रण को पर किसी सामग्री पृष्ठ से किसी मास्टर पेज में परिभाषित करने के लिए, आप ScriptManagerProxy का उपयोग कर सकते हैं।

संबंधित मुद्दे