locked
CreateUserWizard.UserName cannot be empty?! RRS feed

  • Question

  • User-551833813 posted

    Hi,

    I have stopped in a project because of Exceptions I didn't see before.

    When I try to add a new user(as registeration using CreateUserWizard) I got the error

    The parameter 'username' must not be empty.
    Parameter name: username

     

    When I want to delete a user I got the exception:

    Item has already been added. Key in dictionary: 'UserName'  Key being added: 'UserName'


    Which occur in  the code:
    protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
    Line 38:     {
    Line 39:         Roles.AddUserToRole(createUser1.UserName,"User");
    Line 40:     }

    The HTML code of the Adding new user is as following:

    <div id="NewUser">
    <asp:CreateUserWizard ID="createUser1" runat="server" AutoGeneratePassword="False"
           FinishDestinationPageUrl="~/Administrator/Default.aspx"  OnCreatedUser="CreateUserWizard1_CreatedUser" ActiveStepIndex="0" CreateUserButtonImageUrl="../images/btninsert.gif"  CreateUserButtonType="Image"
           DuplicateEmailErrorMessage="البريد الالكتروني الذي أدخلته موجود مسبقاً ." DuplicateUserNameErrorMessage="اسم المستخدم موجود مسبقاً . الرجاء اختيار اسم أخر"
                InvalidEmailErrorMessage="البريد الالكتروني الذي أدخلته لايعبر عن صيغة صحيحة"
              
                UnknownErrorMessage="لم يتم إنشاء الحساب . الرجاء المحاولة مرة أخرى" InvalidPasswordErrorMessage="يجب ان يكون طول كلمة المرور أكبر من 5 أحرف وأقل من 128"
           >
    <WizardSteps>
    <asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server"  >
    <ContentTemplate>
        <div class="sectiontitle">تسجيل معلومات الدخول</div>
                <p></p>
                <table cellpadding="2">
                   <tr>
                      <td class="TextField" style="width: 110px;" ><asp:Label runat="server" ID="lblUserName" AssociatedControlID="UserName" Text="اسم المستخدم" /></td>
                      <td class="TextField" style="width: 300px;"><asp:TextBox runat="server" ID="UserName" Width="100%" /></td>
                      <td>
                         <asp:RequiredFieldValidator ID="valRequireUserName" runat="server" ControlToValidate="UserName" SetFocusOnError="true" Display="Dynamic"
                            ErrorMessage="مطلوب اسم المستخدم" ToolTip="مطلوب اسم المستخدم" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
                      </td>           
                   </tr>              
                   <tr>
                      <td class="TextField"><asp:Label runat="server" ID="lblPassword" AssociatedControlID="Password" Text="كلمة المرور" /></td>
                      <td class="TextField"><asp:TextBox runat="server" ID="Password" TextMode="Password" Width="100%" /></td>
                      <td>
                         <asp:RequiredFieldValidator ID="valRequirePassword" runat="server" ControlToValidate="Password" SetFocusOnError="true" Display="Dynamic"
                            ErrorMessage="مطلوب كلمة السر" ToolTip="مطلوب كلمة السر" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
                           </td>           
                   </tr>
                   <tr>
                      <td class="TextField"><asp:Label runat="server" ID="lblConfirmPassword" AssociatedControlID="ConfirmPassword" Text="تأكيد كلمة المرور" /></td>
                      <td class="TextField"><asp:TextBox runat="server" ID="ConfirmPassword" TextMode="Password" Width="100%" /></td>
                      <td>
                         <asp:RequiredFieldValidator ID="valRequireConfirmPassword" runat="server" ControlToValidate="ConfirmPassword" SetFocusOnError="true" Display="Dynamic"
                            ErrorMessage="يلزم تأكيد كلمة المرور" ToolTip="يلزم تأكيد كلمة المرور"
                            ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
                         <asp:CompareValidator ID="valComparePasswords" runat="server" ControlToCompare="Password" SetFocusOnError="true"
                            ControlToValidate="ConfirmPassword" Display="Dynamic" ErrorMessage="يلزم تطابق كلمة المرور وتأكيد كلمة المرور"
                            ValidationGroup="CreateUserWizard1">*</asp:CompareValidator>
                      </td>           
                   </tr>
                   <tr>
                      <td class="TextField"><asp:Label runat="server" ID="lblEmail" AssociatedControlID="Email" Text="البريد الإلكتروني" /></td>
                      <td class="TextField"><asp:TextBox runat="server" ID="Email" Width="100%" /></td>
                      <td>
                         <asp:RequiredFieldValidator ID="valRequireEmail" runat="server" ControlToValidate="Email" SetFocusOnError="true" Display="Dynamic"
                            ErrorMessage="مطلوب البريد الإلكتروني" ToolTip="يلزم إدخال البريد الإلكتروني" ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
                         <asp:RegularExpressionValidator runat="server" ID="valEmailPattern"  Display="Dynamic" SetFocusOnError="true" ValidationGroup="CreateUserWizard1"
                            ControlToValidate="Email" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ErrorMessage="البريد الإلكتروني الذي أدخلته ليس بصيغة صحيحه">*</asp:RegularExpressionValidator>
                      </td>           
                   </tr>
                    
                 
                 </table>
                <asp:ValidationSummary ValidationGroup="CreateUserWizard1" ID="ValidationSummary1" runat="server" ShowMessageBox="True" ShowSummary="False" /> 
    </ContentTemplate>
    </asp:CreateUserWizardStep>

    <asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server">
    <ContentTemplate>
        <table border="0">
            <tr>
                <td align="center" colspan="2">
                    Complete</td>
            </tr>
            <tr>
                <td>
                    تم إنشاء سجل المستخدم بنجاح</td>
            </tr>
          
        </table>
    </ContentTemplate>
    </asp:CompleteWizardStep>
    </WizardSteps>

    </asp:CreateUserWizard>
    </div>

    The Membership in the web.config is as following:
    <membership defaultProvider="KSAChemic_MembershipProvider" userIsOnlineTimeWindow="15">
          <providers>
           
            <add name="KSAChemic_MembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ChemicalString" applicationName="/" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false"  requiresUniqueEmail="false" passwordFormat="Encrypted" maxInvalidPasswordAttempts="5" passwordAttemptWindow="10" minRequiredPasswordLength="5" minRequiredNonalphanumericCharacters="0"/>
          </providers>
        </membership>

    I tried to make eveything clear hoping you could help me to solve these problems.

    Wednesday, October 8, 2008 2:12 PM

Answers