2011-06-14 12 views
10

मैं दूसरा चरण जोड़ने के लिए थोड़ा अनुकूलन के साथ ओओटीबी एएसपी.NET2.0 सदस्यता प्रदाता CreateUserWizard नियंत्रण का उपयोग करना चाहता हूं।CreateUserWizard - चरण जोड़ें लेकिन उपयोगकर्ता को तब तक नहीं बनाएं जब तक कि सभी चरणों को पूरा न करें

समस्या यह है कि यदि मेरा पहला चरण <asp:CreateUserWizardStep...> टाइप है और मेरा दूसरा <asp:WizardStep...> है, तो उपयोगकर्ता वास्तव में पहले चरण से क्लिक करने के बाद और दूसरे चरण तक पहुंचने के बाद मैन्युअल रूप से तैयार होता है।

<asp:CreateUserWizard ID="CreateUserWizard1" runat="server"> 
    <WizardSteps> 
     <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server"> 
     </asp:CreateUserWizardStep> 
     <asp:WizardStep runat="server" Title="License Step"> 
     </asp:WizardStep> 
     <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server"> 
     </asp:CompleteWizardStep> 
    </WizardSteps> 
</asp:CreateUserWizard> 

वहाँ वैसे भी नियंत्रण प्रतीक्षा करने के लिए बताने के लिए जब तक सभी चरणों उपयोगकर्ता बनाने से पहले पूरा कर रहे हैं:

यहाँ

(बहुत) बुनियादी नियंत्रण मैं उपयोग कर रहा हूँ है?

उत्तर

8

मुझे एक ही समस्या थी।

ऐसा लगता है आदेश है कि आप चाहते हैं के साथ CreateUserWizard उपयोग करने के लिए कोई दूसरा रास्ता नहीं है कि वहाँ:

Step 1. User Creation 

Step 2. License Step etc. 

बाद CreateUserWizardStep डेटा हमेशा की तरह, डेटाबेस के लिए लिखा जाएगा जब तक आप CreateUserWizard वर्गों को ओवरराइड।

यदि आप चरणों के क्रम को उलट देते हैं तो इसे 4GuysFromRolla वेबसाइट में एरिच पीटरसन द्वारा प्रकाशित किया जाना चाहिए, यानी चरण 1. लाइसेंस चरण, चरण 2. ... चरण 3. उपयोगकर्ता निर्माण।

अद्यतन:

मैं एक प्रासंगिक post जो मदद कर सकता है मिल गया है। संक्षेप में:

यदि आप उपयोगकर्ता बनाने से CreateUserWizard के CreateUser चरण को रोकना चाहते हैं, तो आप CreatingUser ईवेंट को संभालने का प्रयास कर सकते हैं और इसकी लॉगिनCancelEventArgs.Cancel प्रॉपर्टी को सत्य पर सेट कर सकते हैं।

उदाहरण कोड:

protected void RegisterUser_CreatingUser(object sender, LoginCancelEventArgs e) 
{ 
e.Cancel = true; 
} 

फिर आदेश विज़ार्ड आपको NextButtonClick घटना को संभालने की ज़रूरत में अगले पृष्ठ पर जाने के लिए:

  1. e.Cancel = झूठी जोड़ें;
  2. CreateUserWizard.ActiveStepIndex = (आपका अगला विज़ार्ड चरण अनुक्रमणिका) जोड़ें;

इसके बाद आपको उपयोगकर्ता को मैन्युअल रूप से बनाने की आवश्यकता होगी, उदा। FinishButton पर घटना हैंडलर क्लिक करें।

मैंने अभी तक यह कोशिश नहीं की है लेकिन इसे काम करना चाहिए। उम्मीद है कि यह मदद करता है।

+0

जो वास्तव में मुझे समझ में आता है! जैसा कि होता है, wbesite का v1 जो मैं काम कर रहा हूं, अब एक बहु-स्टॉप CreateUserWizard नियंत्रण नहीं होगा, इसलिए शायद मैं थोड़ी देर के लिए इस दृष्टिकोण को नहीं आऊंगा, लेकिन मुझे यकीन है कि मैं भविष्य में करूँगा। मैं इसे उत्तर के रूप में चिह्नित करने जा रहा हूं, भले ही मैंने इसे स्वयं परीक्षण नहीं किया है, तर्क ध्वनि है :) चीयर्स! – QMKevin

+0

हाय, मुझे पता है कि यह एक पुरानी पोस्ट है। क्या आप मेरी मदद कर सकते हैं, जब आप वास्तव में उपयोगकर्ता बनाते हैं? क्या आप इसे मैन्युअल रूप से कर रहे हैं? मुझे कब्जे वाले पासवर्ड को पकड़ने में समस्याएं हैं – Crudler