0

CreateUserWizard를 통해 사용자를 만듭니다. UpdatePanel에 CreateUserWizard를 동봉했습니다. 사용자가 생성되고 업데이트가 호출되면 브라우저 콘솔에 오류가 표시되고 업데이트 패널이 업데이트되지 않습니다.Createduserwizard를 통해 사용자를 만들 때 콘솔에 오류가 발생했습니다.

Uncaught Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500 ScriptResource.axd:513 


      <asp:UpdatePanel UpdateMode="Conditional" runat="server" ID="UpdatePanelCreateUser"> 
       <ContentTemplate> 
        <asp:CreateUserWizard ID="CreateUserWizard1" runat="server" CompleteSuccessText="Successful. Confirmation mail has been sent to the Email address. Follow the link to confirm your account." 
         DisableCreatedUser="true" LoginCreatedUser="false" OnCreatedUser="CreateUserWizard1_CreatedUser" 
         OnCreatingUser="CreateUserWizard1_CreatingUser" 
         onsendingmail="CreateUserWizard1_SendingMail1" > 
         <MailDefinition BodyFileName="~/MailFile.txt" From="[email protected]" > 

         </MailDefinition> 
         <WizardSteps> 
          <asp:CreateUserWizardStep runat="server"> 
           <ContentTemplate> 
            <table border="0"> 
             <tr> 
              <td align="center" colspan="2"> 
               &nbsp; 
              </td> 
             </tr> 
             <tr> 
              <td align="right"> 
               <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName" Visible="false">User Name:</asp:Label> 
              </td> 
              <td> 
               <asp:TextBox ID="UserName" runat="server" Visible="false"></asp:TextBox> 
              </td> 
             </tr> 
             <tr> 
              <td align="right"> 
               <asp:Label ID="Label2" runat="server">First Name:</asp:Label> 
              </td> 
              <td> 
               <asp:TextBox ID="TextBoxFirstName" runat="server"></asp:TextBox> 
               <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBoxFirstName" 
                ErrorMessage="User Name is required." ToolTip="User Name is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> 
              </td> 
             </tr> 
             <tr> 
              <td align="right"> 
               <asp:Label ID="LabelLastName" runat="server">Last Name:</asp:Label> 
              </td> 
              <td> 
               <asp:TextBox ID="TextBoxLastName" runat="server"></asp:TextBox> 
               <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBoxLastName" 
                ErrorMessage="User Name is required." ToolTip="User Name is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> 
              </td> 
             </tr> 
             <tr> 
              <td align="right"> 
               <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label> 
              </td> 
              <td> 
               <asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox> 
               <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password" 
                ErrorMessage="Password is required." ToolTip="Password is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> 
              </td> 
             </tr> 
             <tr> 
              <td align="right"> 
               <asp:Label ID="ConfirmPasswordLabel" runat="server" AssociatedControlID="ConfirmPassword">Confirm Password:</asp:Label> 
              </td> 
              <td> 
               <asp:TextBox ID="ConfirmPassword" runat="server" TextMode="Password"></asp:TextBox> 
               <asp:RequiredFieldValidator ID="ConfirmPasswordRequired" runat="server" ControlToValidate="ConfirmPassword" 
                ErrorMessage="Confirm Password is required." ToolTip="Confirm Password is required." 
                ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> 
              </td> 
             </tr> 
             <tr> 
              <td align="right"> 
               <asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">E-mail:</asp:Label> 
              </td> 
              <td> 
               <asp:TextBox ID="Email" runat="server"></asp:TextBox> 
               <asp:RequiredFieldValidator ID="EmailRequired" runat="server" ControlToValidate="Email" 
                ErrorMessage="E-mail is required." ToolTip="E-mail is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> 
              </td> 
             </tr> 
             <tr> 
              <td align="right"> 
               <asp:Label ID="LabelSex" runat="server" AssociatedControlID="DropDownListSex">Sex:</asp:Label> 
              </td> 
              <td> 
               <asp:DropDownList ID="DropDownListSex" runat="server"> 
                <asp:ListItem>Male</asp:ListItem> 
                <asp:ListItem>Female</asp:ListItem> 
               </asp:DropDownList> 
               <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="DropDownListSex" 
                ErrorMessage="E-mail is required." ToolTip="E-mail is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator> 
              </td> 
             </tr> 
             <tr> 
              <td colspan="2" style="padding-left: 10px;"> 
               <BotDetect:Captcha ID="Captcha1" runat="server" CodeLength="7" /> 
               <asp:TextBox ID="TextBox1" runat="server" Width="280px"></asp:TextBox> 
               <div> 
                <asp:Label runat="server" ID="LabelCaptcha" Style="font-size: 11px;"></asp:Label> 
               </div> 
              </td> 
             </tr> 
             <tr> 
              <td align="center" colspan="2"> 
               <asp:CompareValidator ID="PasswordCompare" runat="server" ControlToCompare="Password" 
                ControlToValidate="ConfirmPassword" Display="Dynamic" ErrorMessage="The Password and Confirmation Password must match." 
                ValidationGroup="CreateUserWizard1"></asp:CompareValidator> 
              </td> 
             </tr> 
             <tr> 
              <td align="center" colspan="2" style="color: Red;"> 
               <asp:Literal ID="ErrorMessage" runat="server" EnableViewState="False"></asp:Literal> 
              </td> 
             </tr> 
            </table> 
           </ContentTemplate> 
          </asp:CreateUserWizardStep> 
          <asp:CompleteWizardStep runat="server" /> 
         </WizardSteps> 
        </asp:CreateUserWizard> 
       </ContentTemplate> 
      </asp:UpdatePanel> 

CreatedUser 이벤트

 protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e) 
    { 
    TextBox textboxemail = (TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("Email"); 
    MembershipUser user = Membership.GetUser(textboxemail.Text); 
    Guid userid = (Guid)user.ProviderUserKey; 
    TextBox firstname = (TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("TextBoxFirstName"); 
    TextBox lastname = (TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("TextBoxLastName"); 
    DropDownList sex = (DropDownList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("DropDownListSex"); 
    ProfileDataAccess.SaveUserName(firstname.Text, null, lastname.Text, Convert.ToString (userid)); 
    ProfileDataAccess.SaveSex(sex.SelectedValue, Convert.ToString(userid)); 
    ProfileDataAccess.SetProfilePictureForNewUser(userid, 0); 
    //CreateUserWizard1.MailDefinition.From = "[email protected]"; 
    Label labelCaptcha = (Label)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("LabelCaptcha"); 
    labelCaptcha.Text = ""; 
} 

sendingmail 이벤트

protected void CreateUserWizard1_SendingMail1(object sender, MailMessageEventArgs e) 
    { 
    TextBox textboxemail = (TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("Email"); 
    MembershipUser user = Membership.GetUser(textboxemail.Text); 
    Guid userid = (Guid)user.ProviderUserKey; 
    string verificationurl="http://www.spiralsnet.com/Login.aspx?NewUserId="+userid.ToString(); 
    e.Message.IsBodyHtml = true; 
    e.Message.From = new System.Net.Mail.MailAddress("[email protected]", "SpiralsNet"); 
    e.Message.Body = e.Message.Body.Replace("<%VU%>", verificationurl); 

    UpdatePanelCreateUser.Update(); 

} 

}

+0

코드에서 'CreateUserWizard1_SendingMail1' 메소드를 실행하십시오. 패널에서'Update()'메소드를 호출하는 곳입니다. 거기에 뭔가가있어 오류가 발생하여 메시지가 나타납니다. – Tim

+0

감사합니다 Tim 그렇습니다.하지만 모든 것이 매우 부드럽게 진행되어 최종 블록 중단 점이 아무런 문제없이 작동합니다. –

+0

업데이트 패널을 업데이트하기 위해 무엇이 트리거됩니까? – SollyM

답변

0

문제가 해결되었습니다. 사실 실행이 끝난 후 예외가 발생했습니다. 그래서 Application_Error을 제외하고 그 예외를 잡을 길이 없었다. 그래서 CreatedUser으로 이동하여 거기에서 수동으로 메일을 보내고 예외가 발생하면 수동으로 createduser을 취소하고 만든 모든 사용자를 삭제하려고했습니다.