2010-03-04 21 views
14

मेरी एएसपी.Net वेब साइट में मेरे पास एक बटन है। जब मैं बटन क्लिक करता हूं और फिर ब्राउज़र के माध्यम से पृष्ठ को फिर से लोड करता हूं, तो बटन की आग की क्लिक घटना होती है। कोई समस्या है, कृपया मेरी मदद करें।एएसपी.नेट में क्यों एक बटन क्लिक इवेंट निष्पादित होता है जब पेज रीफ्रेश होता है?

+3

क्या हमारे पास वास्तविक समस्या के बारे में कुछ और जानकारी हो सकती है? क्या आपको कोई त्रुटि संदेश प्राप्त होता है? –

+0

यह कोई समस्या नहीं है। जब आप पृष्ठ को फिर से लोड करते हैं - सभी क्रियाएं फिर से हो जाएंगी। – sashaeve

+1

शायद मैं कड़वा हो रहा हूं, लेकिन वास्तविक प्रश्न के रूप में अनुमान लगाने के लिए एक प्रश्न कैसे 6 अपवॉट प्राप्त करता है? –

उत्तर

16

यदि मैं सही ढंग से समझता हूं।

आपके पास एक बटन के साथ एक वेब फ़ॉर्म है।

आप बटन को दबाते हैं जो एक पोस्ट बैक और ईवेंट हैंडलर को निष्पादित करने के लिए बटन दबाता है।

फिर आप रीफ्रेश हिट करते हैं और पृष्ठ में बटन ईवेंट हैंडलर फिर से निष्पादित होता है।

इसका कारण सर्वर पर भेजी गई अंतिम जानकारी को रीफ्रेश करना है। __doPostback में बटन क्लिक जानकारी कौन सा है। यही कारण है कि आप फिर से बटन आग की घटना देख रहे हैं।

यहां एक article पोस्टबैक पर रीफ्रेश का पता लगाने के तरीके के बारे में बात कर रहा है।

+0

मैं इस समस्या को कैसे हल कर सकता हूं? – Noro

+1

@ नोरो एक लेख है जिसे मैंने उत्तर में जोड़ा है। –

4

ऐसा इसलिए है क्योंकि उस बटन पर क्लिक करने से आपके पृष्ठ पर एक POST अनुरोध भेजता है। POST डेटा http शीर्षलेखों में रखा जाता है और जब आप रीफ्रेश करते हैं, तो इसे सर्वर पर फिर से भेजा जाता है।

जब आप पृष्ठ को रीफ्रेश करने का प्रयास करते हैं तो आपके ब्राउज़र को आपको चेतावनी दी जानी चाहिए।

3

यह डिज़ाइन द्वारा है। जब आप किसी सर्वर साइड बटन पर क्लिक करते हैं (runat="server" विशेषता के साथ), एक क्लिक पोस्टबैक का कारण बनता है और बटन क्लिक ईवेंट आग लग जाएगा।

यदि आप कुछ क्लाइंट साइड व्यवहार चाहते हैं, तो आपको this एमएसडीएन आलेख में वर्णित OnClientClick विशेषता का उपयोग करने की आवश्यकता है (कैसे करें: क्लाइंट स्क्रिप्ट में बटन वेब सर्वर नियंत्रण ईवेंट का जवाब दें)।

0

यदि यह किसी के लिए वास्तव में महत्वपूर्ण है, तो वे एक प्रतिक्रिया.Redirect() के माध्यम से पृष्ठ को फिर से ताज़ा कर सकते हैं। यह सबसे आसान समाधान है जिसे मैं ढूंढने में सक्षम हूं।

0

मुझे एक ही समस्या थी और इसे बटन को एएसपी के रूप में डालने से हल किया गया था: अद्यतन पैनेल के AsyncPostBackTrigger।

0

आप अपने पृष्ठ के भाग को ताज़ा करना चाहते हैं तो UpdatePanel अंदर नियंत्रण रखा नियंत्रण का कारण बनता है PostBack

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <asp:Button CssClass="btn btn-default" 
      onClick="uploadAttachmentToList" runat="server" 
      ID="btnUpload" ClientIDMode="Static" Text="Upload" 
     /> 
    </ContentTemplate> 
</asp:UpdatePanel> 
0

इस समस्या को हल करने के लिए सबसे आसान तरीका है कुछ यूआरएल के लिए अपने पृष्ठ रीडायरेक्ट या ताज़ा करने के लिए है अगर आपके Response.Redirect (Request.RawUrl) का उपयोग कर वर्तमान पृष्ठ;

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

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