ASP.NET Пользовательский элемент управления с ASP: CreateUserWizard - PullRequest
0 голосов
/ 20 сентября 2009

При использовании asp: login, asp: Forgotpassword и asp: createuserwizard управляют внутри ascx. (например, registration.ascx) он не может найти, например, UserName, даже если он существует в LayoutTemplate. Есть идеи как это исправить?

1 Ответ

3 голосов
/ 20 сентября 2009

Если вы откроете смарт-тег для управления в режиме разработки, вы увидите, что есть шаги, которые можно преобразовать в шаблоны для настройки.

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>

.......

Также знайте, что если вы хотите найти элемент управления из внутренних шаблонов, вы должны искать шаблоны с помощью метода <a href="http://msdn.microsoft.com/en-us/library/system.web.ui.control.findcontrol.aspx" rel="nofollow noreferrer">FindControl</a>, чтобы достичь желаемого элемента управления. Чтобы найти элемент управления UserName в приведенном выше коде, используйте

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

Надеюсь, это поможет решить вашу проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...