I am following the listing in the Professional Asp.Net 2.0 book (listing 16-8). Basically it shows you how to save the person's first name, last name and age when you are creating a new user. The code will work, however, I think it is saving the profile information for an anonymous user instead of the user I just created. When I look in the users table in the aspnetdb, I get two new users created and the UserId that links to the Profile table is for the anonymous user not my legit user I just created.
I had to add the allowAnonymous in my web.config file to even get the user created:
<properties>
<add name="FirstName" allowAnonymous="true" />
<add name="LastName" allowAnonymous="true" />
<add name="LastVisited" allowAnonymous="true" />
<add name="Age" allowAnonymous="true" />
<add name="Member" allowAnonymous="true" />
</properties>
Here is my login page:
Code:
<%@ Page Language="VB" debug="true"%>
<script runat="server">
Protected Sub CreateUserWizard1_CreatedUser(ByVal sender As Object, _
ByVal e As System.EventArgs)
Profile.FirstName = Firstname.Text
Profile.LastName = Lastname.Text
Profile.Age = Age.Text
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Creating Users with Personalization</title>
</head>
<body>
<form id="form1" runat="server">
<asp:CreateUserWizard ID="CreateUserWizard1" Runat="server"
BorderWidth="1px" BorderColor="#FFDFAD" BorderStyle="Solid"
BackColor="#FFFBD6" Font-Names="Verdana"
LoginCreatedUser="true" OnCreatedUser="CreateUserWizard1_CreatedUser" ActiveStepIndex="0" >
<WizardSteps>
<asp:WizardStep ID="WizardStep1" Runat="server"
Title="Additional Information" StepType="Start">
<table width="100%"><tr><td>
Firstname: </td><td>
<asp:TextBox ID="Firstname" Runat="server"></asp:TextBox>
</td></tr><tr><td>
Lastname: </td><td>
<asp:TextBox ID="Lastname" Runat="server"></asp:TextBox>
</td></tr><tr><td>
Age: </td><td>
<asp:TextBox ID="Age" Runat="server"></asp:TextBox>
</td></tr></table>
</asp:WizardStep>
<asp:CreateUserWizardStep Runat="server">
<ContentTemplate>
<table border="0" style="font-size: 100%; font-family: Verdana; background-color: #fffbd6">
<tr>
<td align="center" colspan="2" style="font-weight: bold; color: white; background-color: #990000">
Sign Up for
Your New Account</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">User Name:</asp:Label></td>
<td>
<asp:TextBox ID="UserName" runat="server"></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 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="QuestionLabel" runat="server" AssociatedControlID="Question">Security Question:</asp:Label></td>
<td>
<asp:TextBox ID="Question" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="QuestionRequired" runat="server" ControlToValidate="Question"
ErrorMessage="Security question is required." ToolTip="Security question is required."
ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="AnswerLabel" runat="server" AssociatedControlID="Answer">Security Answer:</asp:Label></td>
<td>
<asp:TextBox ID="Answer" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="AnswerRequired" runat="server" ControlToValidate="Answer"
ErrorMessage="Security answer is required." ToolTip="Security answer is required."
ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
</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">
</asp:CompleteWizardStep>
</WizardSteps>
<StepStyle BorderColor="#FFDFAD" Font-Names="Verdana"
BackColor="#FFFBD6" BorderStyle="Solid"
BorderWidth="1px"></StepStyle>
<TitleTextStyle Font-Bold="True" BackColor="#990000"
ForeColor="White"></TitleTextStyle>
</asp:CreateUserWizard>
</form>
</body>
</html>