Hi Imar this has really driven me nutts, please help!!
I am trying to implement dropdownlist inside createuserwizard to get user choice and then programatically insert it in the database.
Code:
<asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">
<ContentTemplate>
<table>
<tr><td>
<asp:TextBox ID="UserName" CssClass="textboxStyle" runat="server"
ToolTip="User Name"></asp:TextBox>
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server"
ControlToValidate="UserName" ErrorMessage="User Name is required."
ToolTip="User Name is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
</td></tr>
<tr><td>
<asp:TextBox ID="Password" CssClass="textboxStyle" runat="server"
TextMode="Password" ToolTip="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>
<asp:TextBox ID="ConfirmPassword" CssClass="textboxStyle" runat="server"
TextMode="Password" ToolTip="Confirm 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>
<asp:TextBox ID="Email" CssClass="textboxStyle" runat="server"
ToolTip="[email protected]"></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>
<p>Please identify yourself in one of the following:</p>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>Student</asp:ListItem>
<asp:ListItem>Principal</asp:ListItem>
<asp:ListItem>Vice Principal</asp:ListItem>
<asp:ListItem>Teacher</asp:ListItem>
<asp:ListItem>Clerkial Staff</asp:ListItem>
<asp:ListItem>Other Staff</asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="identityRequired" runat="server"
ControlToValidate="DropDownList1" ErrorMessage="Identification in one of the categories is required."
ToolTip="Identification is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
</td></tr>
<tr>
<td align="center">
<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" style="color:Red;">
<asp:Literal ID="ErrorMessage" runat="server" EnableViewState="False"></asp:Literal>
</td>
</tr>
</table>
</ContentTemplate>
<CustomNavigationTemplate>
<table border="0" cellspacing="5" style="width:100%;height:100%;">
<tr align="right">
<td align="left" colspan="0">
<asp:Button ID="StepNextButton" CssClass="buttonStyle" runat="server" CommandName="MoveNext"
Text="Create User" ValidationGroup="CreateUserWizard1" />
</td>
</tr>
</table>
</CustomNavigationTemplate>
</asp:CreateUserWizardStep>
C#
Code:
protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
{
TextBox Category = DropDownList1.SelectedValue;
// Get the UserId of the just-added user
MembershipUser newUser = Membership.GetUser(CreateUserWizard1.UserName);
Guid newUserId = (Guid)newUser.ProviderUserKey;
// Insert a new record into UserProfiles
string connectionString =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
string insertSql = "INSERT INTO UserDetails(UserId, FirstName, MiddleName, LastName, HomeTown, Category) VALUES(@UserId, @FirstName, @MiddleNAme, @LastName, @HomeTown, @Category)";
using (SqlConnection myConnection = new SqlConnection(connectionString))
{
myConnection.Open();
SqlCommand myCommand = new SqlCommand(insertSql, myConnection);
myCommand.Parameters.AddWithValue("@UserId", newUserId);
myCommand.Parameters.AddWithValue("@FirstName", DBNull.Value);
myCommand.Parameters.AddWithValue("@MiddleName", DBNull.Value);
myCommand.Parameters.AddWithValue("@LastName", DBNull.Value);
myCommand.Parameters.AddWithValue("@HomeTown", DBNull.Value);
myCommand.Parameters.AddWithValue("@Category", Category.Text.Trim());
myCommand.ExecuteNonQuery();
myConnection.Close();
}
}
Error: DropList1 doesn't exist in this context.
Thanks.