1
我已经通过继承.NET成员资格提供程序实现了自定义成员资格提供程序。对于我的前端使用CreateUserWizard控件,这是与我的会员提供商连接。我已经编辑CreateUserWizard控件的模板,所以现在它看起来像这样:自定义成员资格提供程序中自定义字段的值
<asp:CreateUserWizard ID="CreateUserWizard1" runat="server"
MembershipProvider="CmsMembershipProvider" BackColor="#E3EAEB"
BorderColor="#E6E2D8" BorderStyle="Solid" BorderWidth="1px"
Font-Names="Verdana" Font-Size="0.8em"
ContinueDestinationPageUrl="~/Pages/FirstPage.aspx">
<ContinueButtonStyle BackColor="White" BorderColor="#C5BBAF"
BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana"
ForeColor="#1C5E55" />
<CreateUserButtonStyle BackColor="White" BorderColor="#C5BBAF"
BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana"
ForeColor="#1C5E55" />
<TitleTextStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<WizardSteps>
<asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">
<ContentTemplate>
<table>
<tr>
<td align="center" colspan="2" class="style3">
<strong>Sign Up for Your New Account</strong></td>
</tr>
<tr>
<td align="right">
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">User Name:</asp:Label>
</td>
<td>
<asp:TextBox ID="UserName" name="usna" 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="DomainLabel" runat="server" AssociatedControlID="Domain">Domain:</asp:Label>
</td>
<td>
<asp:TextBox ID="Domain" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="DomainRequired" runat="server"
ControlToValidate="Domain" ErrorMessage="Domain is required."
ToolTip="Domain is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
</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>
<CustomNavigationTemplate>
<table border="0" cellspacing="5" style="width:100%;height:100%;">
<tr align="right">
<td align="right" colspan="0">
<asp:Button ID="StepNextButton" runat="server" BackColor="White"
BorderColor="#C5BBAF" BorderStyle="Solid" BorderWidth="1px"
CommandName="MoveNext" Font-Names="Verdana" ForeColor="#1C5E55"
Text="Create User" ValidationGroup="CreateUserWizard1" />
</td>
</tr>
</table>
</CustomNavigationTemplate>
</asp:CreateUserWizardStep>
<asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server">
</asp:CompleteWizardStep>
</WizardSteps>
<FinishNavigationTemplate>
<asp:Button ID="FinishPreviousButton" runat="server" BackColor="White"
BorderColor="#C5BBAF" BorderStyle="Solid" BorderWidth="1px"
CausesValidation="False" CommandName="MovePrevious" Font-Names="Verdana"
ForeColor="#1C5E55" Text="Previous" />
<asp:Button ID="FinishButton" runat="server" BackColor="White"
BorderColor="#C5BBAF" BorderStyle="Solid" BorderWidth="1px"
CommandName="MoveComplete" Font-Names="Verdana" ForeColor="#1C5E55"
Text="Finish" />
</FinishNavigationTemplate>
<HeaderStyle BackColor="#666666" BorderColor="#E6E2D8" BorderStyle="Solid"
BorderWidth="2px" Font-Bold="True" Font-Size="0.9em" ForeColor="White"
HorizontalAlign="Center" />
<NavigationButtonStyle BackColor="White" BorderColor="#C5BBAF"
BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana"
ForeColor="#1C5E55" />
<SideBarButtonStyle ForeColor="White" />
<SideBarStyle BackColor="#1C5E55" Font-Size="0.9em" VerticalAlign="Top" />
<StartNavigationTemplate>
<asp:Button ID="StartNextButton" runat="server" BackColor="White"
BorderColor="#C5BBAF" BorderStyle="Solid" BorderWidth="1px"
CommandName="MoveNext" Font-Names="Verdana" ForeColor="#1C5E55" Text="Next" />
</StartNavigationTemplate>
<StepNavigationTemplate>
<asp:Button ID="StepPreviousButton" runat="server" BackColor="White"
BorderColor="#C5BBAF" BorderStyle="Solid" BorderWidth="1px"
CausesValidation="False" CommandName="MovePrevious" Font-Names="Verdana"
ForeColor="#1C5E55" Text="Previous" />
<asp:Button ID="StepNextButton" runat="server" BackColor="White"
BorderColor="#C5BBAF" BorderStyle="Solid" BorderWidth="1px"
CommandName="MoveNext" Font-Names="Verdana" ForeColor="#1C5E55" Text="Next" />
</StepNavigationTemplate>
<StepStyle BorderWidth="0px" />
</asp:CreateUserWizard>
它具有原fieds减去SecurityQuestion和答案,但除了我有场域至极是文本框。
我重写方法CREATEUSER,所以它看起来是这样的:
它插入到数据库的完美,但我不能从形式获取文本框域的值,因为创建用户不发送变量。 我发现了一些例子,他们说我可以在CreateUserWizard中创建另一个步骤,然后用新的值集更新数据库,但我不想在不同的步骤中这样做。它可以一步完成吗?
我正在考虑这个......另一种选择是在CreateUserWizard控件上添加onCreatedUser事件,并处理启动的方法内的附加字段的值。你对此有何看法? – 2012-02-07 23:29:20
@stanislav - 你可以这样做,但这样你将有一个中心位置来处理你的额外信息,如果你在其他地方需要它,你只需要打电话给会员来获得额外的信息。 – TheBoyan 2012-02-07 23:35:53
thx煽动... – 2012-02-07 23:44:37