2008-12-13 10 views
7

क्या मैं नेस्टेड पृष्ठों को लपेटने के लिए मास्टर पेज में अद्यतन पैनल का उपयोग कर सकता हूं ताकि जब एक पृष्ठ से दूसरे क्लाइंट में ब्राउज़ किया जा सके तो केवल आंशिक रीफ्रेश हो जाता है (मास्टरपेज पुनः लोड नहीं होता है)।क्या मैं नेस्टेड पृष्ठों को लपेटने के लिए मास्टरपेज में अपडेटपेनल का उपयोग कर सकता हूं?

यदि हां - तो कैसे? क्या मैं मास्टर पेज में ContentPlaceholder के आस-पास एक अद्यतन पैनल डालता हूं?

किसी भी मदद की सराहना की!

उत्तर

15

मैं आपको सलाह नहीं है एक UpdatePanel में एक पूरे पृष्ठ रैप करने के लिए, निम्नलिखित कारणों के लिए:

  • आप अपनी साइट खोज इंजन द्वारा सूचकांक होना चाहते हैं, तो आप प्रदर्शन करने की आवश्यकता होगी अलग-अलग पृष्ठों पर आपकी सामग्री ... प्रत्येक सामग्री अनुभाग पर एक अलग क्वेरीस्ट्रिंग होने के पर्याप्त है। ऐसा इसलिए है क्योंकि खोज इंजन सामग्री के लिए किंग है और चूंकि सर्च इंजन वर्तमान में गतिशील रूप से जेनरेट किए गए डेटा को इंडेक्स नहीं कर सकते हैं, इसलिए वे आपके पृष्ठों को इंडेक्स करने में सक्षम नहीं होंगे।

  • एक Update Panel में पूरे पृष्ठों रैपिंग विशाल भूमि के ऊपर सर्वर को भेजी जाने वाली की वजह से बहुत ही खतरनाक है। यदि आप ऐसा करते हैं तो आपको एक महत्वपूर्ण प्रदर्शन कमी दिखाई देगी। विषय

  • इस विशाल भूमि के ऊपर की वजह के बारे में अधिक जानकारी के लिए पढ़ें this article, यह वेबसाइट की Update Panelअद्यतन करने के लिए सिर्फ छोटे वर्गों का उपयोग करने का सुझाव दिया है (पक्ष पर छोटे से बॉक्स विजेट की तरह, आदि ...) और पूरे सामग्री खंड नहीं।

  • अद्यतन पैनल में सामग्री अनुभागों को लपेटने का अर्थ है कि आपको अतिरिक्त मील को मैन्युअल रूप से यूआरएल (# एंकरों का उपयोग करके) को मैन्युअल रूप से बदलना होगा, और ऐसा इसलिए है कि आप उपयोगकर्ताओं को बैक बटन का उपयोग करने की क्षमता देंगे अपने ब्राउज़र पर साइट के पिछले खंड पर जाने के लिए। एक पेज में वापस जाने के लिए की क्षमता होने नहीं उन


के लिए बहुत कष्टप्रद है यहाँ एक उदाहरण है कि UpdatePanel रों के साथ समस्या यह दर्शाता है।

निम्नलिखित एक लेबल और एक बटन के साथ एक सरल aspx पृष्ठ के लिए कोड है:

<asp:ScriptManager ID="ScriptManager1" runat="server" /> 
<asp:UpdatePanel runat="server" ID="up1"> 
<ContentTemplate> 
    <asp:Label runat="server" ID="Label1" Text="Update Me!" /><br /> 
    <asp:Button runat="server" ID="Button1" 
    Text="Postback Update" OnClick="Button1_Click" /> 
</ContentTemplate> 
</asp:UpdatePanel> 

 

protected void Button1_Click(object sender, EventArgs e) 
{ 
    Label1.Text = DateTime.Now.ToLongDateString(); 
} 

और बटन क्लिक होने के बाद एक आंशिक UpdatePanel के साथ किया पोस्टबैक है (शामिल विशाल ओवरहेड पर ध्यान दें):

                                    alt text http://encosia.com/blog/media/images/updatepanel-payload-response-sm.png

आप देख सकते हैं, सर्वर मूल रूप से सभी तत्वों UpdatePanel वापस ग्राहक के लिए कर रहे हैं भेज रहा है।


दूसरी ओर, यहां एक उदाहरण शामिल होता है कि ASP.Net Page Methods का उपयोग कर रहा है। सूचना प्रतिक्रिया सर्वर से इस बार भेजा (कोई UpdatePanels शामिल):

                                        alt text http://encosia.com/blog/media/images/json-payload-response.png

+0

समझ में आता है - धन्यवाद – JohnIdol

+1

लेख बहुत int है साथ ही साथ घूमना - समस्या यह है कि लोग आलसी हैं :-) – JohnIdol

+1

बहुत अधिक जानकारीपूर्ण। UpdatePanel से जुड़े ओवरहेड को समझने के लिए कई लेख ले गए। बहुत बहुत धन्यवाद!!! – Nipuna

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

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