2010-01-28 10 views
5

मैं अपने कोड में गतिशील रूप से एक बटन बना रहा हूं और इसमें एक क्लिक ईवेंट संलग्न कर रहा हूं। हालांकि मुझे प्रक्रिया को चालू करते समय लोगों को क्लिक करने के लिए रोकना है। तो जब इसे एक बार क्लिक किया जाता है, तो इसे अक्षम किया जाना चाहिए और जब प्रक्रिया समाप्त होती है तो इसे सक्षम किया जाना चाहिए। मैं उसे कैसे कर सकता हूँ?पोस्टबैक के दौरान एएसपीनेट डायनामिक बटन पर क्लिक करें और इसे बाद में सक्षम करें

धन्यवाद।

उत्तर

4

onclick = अपने नियंत्रण

btnAdd.Attributes.Add के पीछे अपने कोड से जोड़ने के "= false this.enabled" ("onclick", "= false this.enabled;");

यह लिंक विस्तार http://encosia.com/2007/04/17/disable-a-button-control-during-postback/

+0

यदि आपका मतलब mybutton.onlick = "this.enabled = false" है तो इसके लिए कोई ऑनलिक विधि परिभाषित नहीं है। – stckvrflw

+0

बटन क्लिक होने के बाद इसे क्लाइंट साइड इवेंट निकाल दिया जाएगा, अगर आप सर्वर से अक्षम करना चाहते हैं तो यह आसान है btnAdd.Enabled = false; – Ravia

0

मैं बटन arround एक UpdatePanel का प्रयोग करेंगे में बताते हैं। क्लिक पर आप बटन को अक्षम कर सकते हैं। यदि आपके बाहरी प्रक्रिया ने परिणाम वापस कर दिया है तो प्रत्येक x सेकेंड दिखने वाले अपडेट पैनेल पर एक ट्रिगर का उपयोग करें। और मैं आपको विंडोज़ सेवा में लंबी चल रही प्रक्रियाओं को स्रोत करने की सलाह दूंगा।

2

आप जब प्रसंस्करण शुरू होता है 2. के बाद प्रोसेस पूर्ण हो

तो बटन Postbacks, सबसे अच्छा तरीका निष्क्रिय करने के लिए है बटन को सक्रिय करें ajax के माध्यम से कार्रवाई कर रहे हैं, तो जब बटन clicked- है 1. अक्षम करें बटन बटन जब जावास्क्रिप्ट के माध्यम से क्लिक किया जाता है [मैं सिर्फ इस विशेष कार्य के लिए jquery का सुझाव नहीं दूंगा]। चूंकि पोस्टबैक के बाद से बटन सक्षम हो जाएगा जैसा कि पहले था, आपको सक्षम करने के बारे में चिंता करने की आवश्यकता नहीं है।

<asp:Button ID="btn" runat="server" OnClientClick="disable(this)" 
Text="Click me!" OnClick="btn_Click" /> 

<script type="text/javascript"> 
     function disable(control) 
     { 
      control.disabled="disabled"; 
      //added alert to give the snapshot of what happens 
      //when the button is clicked 
      alert(100); 
     } 
</script> 

उम्मीद है कि इससे मदद मिलती है।

+0

और पोस्टबैक समाप्त होने के बाद यह खुद को कैसे सक्षम करेगा? – stckvrflw

+1

मैं अपना कोड आपके जैसा लिखता हूं। सबकुछ एक जैसा है लेकिन अब OnClick = "btn_Click" फायरिंग नहीं है। अगर मैं OnClientClick = "अक्षम (यह)" को हटा देता हूं तो ऑनक्लिक फायरिंग है। तुम क्या सोचते हो ? – stckvrflw

+0

पोस्टबैक के बाद आप सी # में क्लाइंटस्क्रिप्ट के साथ एक स्क्रिप्ट पंजीकृत कर सकते हैं जो बटन की अक्षम संपत्ति को हटा देता है। – sangam

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