使用ASP的ASP.NET用户控件:CreateUserWizard

时间:2009-09-20 12:18:59

标签: asp.net controls

在ascx中使用asp:login,asp:forgotpassword和asp:createuserwizard控件时。 (例如registration.ascx)它找不到例如UserName,即使它存在于LayoutTemplate中。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

如果在设计模式下打开智能标记进行控制,您将看到有些步骤可以转换为模板进行自定义。

CreateUserWizard http://img197.imageshack.us/img197/3823/7d4df5a594a1abdb8fdc8f1.png

对于CreateUserWizard,按自定义创建用户步骤,您将观察到,控制转换为表模板,您可以看到控件如何命名,即UserName,Password ...

<asp:CreateUserWizard ID="CreateUserWizard1" runat="server">
        <WizardSteps>
            <asp:CreateUserWizardStep runat="server" ID="CreateUserWizardStep1">
                <ContentTemplate>
                    <table border="0">
                        <tr>
                            <td align="center" colspan="2">
                                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>

.......

另请注意,如果您希望从内部模板中找到控件,则必须使用FindControl方法查找模板以获得所需的控件。 要在上面的代码中查找UserName控件,请使用

CreateUserWizardStep1.TemplateControl.FindControl("UserName") as TextBox

希望这有助于解决您的问题