2009-08-15 9 views
0

Ich habe das asp.net Login-Steuerelement angepasst und es scheint neue Konten zu erstellen, aber wenn ich die Benutzer-ID, die bereits registriert ist duplizieren oder eine E-Mail, die bereits verwendet, eingeben, Die Fehlermeldungen werden nicht angezeigt. Es macht mich verrückt. Die Seite wird nur aktualisiert, ohne dass ein Fehler angezeigt wird.Ein Problem mit dem ASP.net create user control

Ich habe die Anweisungen auf der MSDN-Website, aber nichts enthalten. http://msdn.microsoft.com/en-us/library/ms178342.aspx

<asp:CreateUserWizard ErrorMessageStyle-BorderColor="Azure" ID="CreateUserWizard1" runat="server" ContinueDestinationPageUrl="~/home.aspx"> 

         <WizardSteps> 

          <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server"> 

           <ContentTemplate> 
            <asp:Literal ID="ErrorMessage" runat="server"></asp:Literal> 


            <div class="fieldLine"> 
             <asp:Label ID="lblFirstName" runat="server" Text="First Name:" AssociatedControlID="tbxFirstName"></asp:Label> 
             <asp:Label ID="lblLastName" runat="server" Text="Last Name:" AssociatedControlID="tbxLastName"></asp:Label> 
            </div> 

            <div class="fieldLine"> 
             <asp:TextBox ID="tbxFirstName" runat="server"></asp:TextBox> 
             <asp:TextBox ID="tbxLastName" runat="server"></asp:TextBox> 
            </div> 


            <asp:Label ID="lblEmail" runat="server" Text="Email:" AssociatedControlID="Email"></asp:Label> 
            <asp:TextBox ID="Email" runat="server" CssClass="wideInput"></asp:TextBox><br /> 
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" 
                   runat="server" 
                   CssClass="aspValidator" 
                   Display="Dynamic" 
                   ControlToValidate="Email" 
                   ErrorMessage="Required"></asp:RequiredFieldValidator> 
            <asp:RegularExpressionValidator ID="RegularExpressionValidator1" 
                    runat="server" 
                    Display="Dynamic" 
                    CssClass="aspValidator" 
                    ControlToValidate="Email" 
                    SetFocusOnError="true" 
                    ValidationExpression="^(?:[a-zA-Z0-9_'^&amp;/+-])+(?:\.(?:[a-zA-Z0-9_'^&amp;/+-])+)*@(?:(?:\[?(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))\.){3}(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\]?)|(?:[a-zA-Z0-9-]+\.)+(?:[a-zA-Z]){2,}\.?)$" 
                    ErrorMessage="Email address not valid"></asp:RegularExpressionValidator> 

            <asp:Label ID="lblEmailConfirm" runat="server" Text="Confirm Email Address:" AssociatedControlID="tbxEmailConfirm"></asp:Label> 
            <asp:TextBox ID="tbxEmailConfirm" runat="server" CssClass="wideInput"></asp:TextBox><br /> 
            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" 
                   runat="server" 
                   CssClass="aspValidator" 
                   Display="Dynamic" 
                   ControlToValidate="tbxEmailConfirm" 
                   ErrorMessage="Required"></asp:RequiredFieldValidator> 
            <asp:RegularExpressionValidator ID="RegularExpressionValidator2" 
                    runat="server" 
                    Display="Dynamic" 
                    CssClass="aspValidator" 
                    ControlToValidate="tbxEmailConfirm" 
                    SetFocusOnError="true" 
                    ValidationExpression="^(?:[a-zA-Z0-9_'^&amp;/+-])+(?:\.(?:[a-zA-Z0-9_'^&amp;/+-])+)*@(?:(?:\[?(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))\.){3}(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\]?)|(?:[a-zA-Z0-9-]+\.)+(?:[a-zA-Z]){2,}\.?)$" 
                    ErrorMessage="Email address not valid"></asp:RegularExpressionValidator> 
            <asp:CompareValidator ID="CompareValidator1" 
                  runat="server" 
                  Display="Dynamic" 
                  SetFocusOnError="true" 
                  CssClass="aspValidator" 
                  ControlToCompare="Email" 
                  ControlToValidate="tbxEmailConfirm" 
                  ErrorMessage="Email address' do not match"></asp:CompareValidator> 

            <asp:Label ID="lblUsername" runat="server" Text="Username:" AssociatedControlID="UserName"></asp:Label> 
            <asp:TextBox ID="UserName" runat="server" MaxLength="12"></asp:TextBox><br /> 
            <asp:CustomValidator ID="CustomValidatorUserName" 
                 runat="server" 
                 Display="Dynamic" 
                 SetFocusOnError="true" 
                 CssClass="aspValidator" 
                 ValidateEmptyText="true" 
                 ControlToValidate="UserName" 
                 ErrorMessage="Username can be between 6 and 12 characters." 
                 ClientValidationFunction="ValidateLength" 
                 OnServerValidate="ValidateUserName"></asp:CustomValidator> 

            <div class="fieldLine"> 
             <asp:Label ID="lblPassword" runat="server" Text="Password:" AssociatedControlID="Password"></asp:Label> 
             <asp:Label ID="lblPasswordConfirm" runat="server" Text="Confirm Password:" AssociatedControlID="ConfirmPassword" CssClass="confirmPassword"></asp:Label> 
            </div> 

            <div class="fieldLine"> 
             <asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox> 
             <asp:TextBox ID="ConfirmPassword" runat="server" TextMode="Password"></asp:TextBox><br /> 
             <asp:CustomValidator ID="CustomValidatorPassword" 
                 runat="server" 
                 Display="Dynamic" 
                 SetFocusOnError="true" 
                 CssClass="aspValidator" 
                 ControlToValidate="Password" 
                 ValidateEmptyText="true" 
                 ErrorMessage="Password can be between 6 and 12 characters" 
                 ClientValidationFunction="ValidateLength" 
                 OnServerValidate="ValidatePassword"></asp:CustomValidator> 
             <asp:CustomValidator ID="CustomValidatorConfirmPassword" 
                 runat="server" 
                 Display="Dynamic" 
                 SetFocusOnError="true" 
                 CssClass="aspValidator" 
                 ControlToValidate="ConfirmPassword" 
                 ValidateEmptyText="true" 
                 ErrorMessage="Password can be between 6 and 12 characters" 
                 ClientValidationFunction="ValidateLength" 
                 OnServerValidate="ValidatePassword"></asp:CustomValidator> 
              <asp:CompareValidator ID="CompareValidator2" 
                  runat="server" 
                  Enabled="false" 
                  Display="Dynamic" 
                  SetFocusOnError="true" 
                  CssClass="aspValidator" 
                  ControlToCompare="Password" 
                  ControlToValidate="ConfirmPassword" 
                  ErrorMessage="Passwords do not match"></asp:CompareValidator> 
            </div> 

            <asp:Label ID="lblCaptch" runat="server" Text="Captcha:" AssociatedControlID="imgCaptcha"></asp:Label> 
            <div class="borderBlue" style="width:200px;"> 
             <asp:Image ID="imgCaptcha" runat="server" ImageUrl="~/JpegImage.aspx" /><br />          
            </div> 

            <asp:TextBox ID="tbxCaptcha" runat="server" CssClass="captchaText"></asp:TextBox> 
            <asp:RequiredFieldValidator ControlToValidate="tbxCaptcha" 
                   CssClass="aspValidator" 
                   ID="RequiredFieldValidator3" 
                   runat="server" 
                   ErrorMessage="Required"></asp:RequiredFieldValidator> 
            <asp:CustomValidator ID="CustomValidator1" ControlToValidate="tbxCaptcha" 
                 runat="server" OnServerValidate="ValidateCaptcha" ErrorMessage="Captcha incorrect"></asp:CustomValidator> 
           </ContentTemplate> 

           <CustomNavigationTemplate> 
            <div style="float:left;"> 
             <asp:Button ID="CreateUser" runat="server" Text="Register Now!" 
                CausesValidation="true" CommandName="CreateUser" OnCommand="CreateUserClick" CssClass="registerButton" /> 
            </div> 
           </CustomNavigationTemplate> 
          </asp:CreateUserWizardStep> 

          <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server"> 
           <ContentTemplate> 
            <table border="0" style="font-size: 100%; font-family: Verdana" id="TABLE1" > 
             <tr> 
              <td align="center" colspan="2" style="font-weight: bold; color: white; background-color: #5d7b9d; height: 18px;"> 
               Complete</td> 
             </tr> 
             <tr> 
              <td> 
               Your account has been successfully created.<br /> 
              </td> 
             </tr> 
             <tr> 
              <td align="right" colspan="2"> 
               <asp:Button ID="Button1" PostBackUrl="~/home.aspx" runat="server" Text="Button" /> 
              </td> 
             </tr> 
            </table> 
           </ContentTemplate> 
          </asp:CompleteWizardStep> 
         </WizardSteps> 
        </asp:CreateUserWizard> 
+0

können Sie eine Verknüpfung zu den MSDN-Dokumenten herstellen, auf die Sie verwiesen haben? –

Antwort

0

Lösung gefunden. Es scheint, dass die Schaltfläche im Abschnitt CustomNavigationTemplate ein Befehlsargument von "MoveNext" benötigte und die Schaltflächen-ID von StepNextButtonButton. Ich fand das heraus, indem ich das Steuerelement ohne Anpassung selbst rendern ließ und dann seine Eigenschaften betrachtete.

Ich hoffe, das hilft jemandem.

0

Im MSDN Beispiel in der Code-Behind-Code gibt es, die für einen vorhandenen Benutzer überprüft. Hast du ähnlichen Code in deiner App?

0

Erstellen Sie eine Funktion für E-Mail in asp.net Senden & Verwendung versuchen & Fangfunktion für get Fehler in Ihrem Benutzersteuer wenn ein Fehler dann automatisch an Ihre ID

Verwendung senden Fehler entdeckt diese Funktion, wenn Sie verwenden

gmail

// Variable deklarieren für das Senden von E-Mail Zeichenfolge tomail = Ihre gmail id Zeichenkette subject = Fehler in Benutzersteuer String body = Ausnahme in der Benutzerkontrolle gefunden

// send a mail by gmail account 


    System.Net.Mail.MailMessage MyMailMessage = 
     new System.Net.Mail.MailMessage("xyz.com", tomail, 

Gegenstand, Körper); MyMailMessage.IsBodyHtml = false;

//Proper Authentication Details need to be passed when sending email from gmail 
    System.Net.NetworkCredential mailAuthentication = new 
    System.Net.NetworkCredential("[email protected]", "password"); 
    //Smtp Mail server of Gmail is "smpt.gmail.com" and it uses port no. 587 
    //For different server like yahoo this details changes and you can 
    //get it from respective server. 
    System.Net.Mail.SmtpClient mailClient = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587); 
    //Enable SSL 

    mailClient.EnableSsl = true; 

    mailClient.UseDefaultCredentials = false; 

    mailClient.Credentials = mailAuthentication; 

    try 
    { 

     mailClient.Send(MyMailMessage); 
    } 
    catch (System.Net.Mail.SmtpException ex) 
    { 
     Response.Write(ex.ToString()); 
    } 
}