Добавление большего количества текстовых полей в элемент управления входом asp: - PullRequest
1 голос
/ 21 сентября 2010

Я использую ASP.NET 4.0 WebForms и использую элемент управления.Однако я хочу добавить 3 текстовых поля, адрес электронной почты, пароль и дату рождения.В качестве имени пользователя и пароля в качестве имени пользователя и пароля обычно используются электронная почта и пароль, но если у меня было третье текстовое поле для даты рождения (над кнопкой входа в систему, но под адресом электронной почты и паролем), то в моем коде сзади идентификатор этого элемента управления не распознается, посколькуобласть применения тегов.

Есть ли способ добавить дополнительные элементы управления с помощью этого элемента управления и затем аутентифицировать их отдельно?

1 Ответ

4 голосов
/ 21 сентября 2010

В Visual Studio Design View вы можете преобразовать asp: LoginControl в шаблон. Это тогда выставляет все html в пределах контроля. Затем вы можете добавить туда все, что захотите.

<asp:Login ID="Login1"
            runat="server">
            <LayoutTemplate>
                <table cellpadding="1" cellspacing="0" style="border-collapse:collapse;">
                    <tr>
                        <td>
                            <table cellpadding="0">
                                <tr>
                                    <td align="center" colspan="2">
                                        Log In</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="Login1">*</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="Login1">*</asp:RequiredFieldValidator>
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="2">
                                        <asp:CheckBox ID="RememberMe" runat="server" Text="Remember me next time." />
                                    </td>
                                </tr>
                                <tr>
                                    <td align="center" colspan="2" style="color:Red;">
                                        <asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
                                    </td>
                                </tr>
                                <tr>
                                    <td align="right" colspan="2">
                                        <asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" 
                                            ValidationGroup="Login1" />
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            </LayoutTemplate>
        </asp:Login>

В вашем коде вам нужно будет использовать Login1.FindControl("") для любых дополнительных элементов управления, к которым вы хотите получить доступ.

Так что для нового текстового поля asp: вы можете иметь его как:

<asp:TextBox id="TextBox1" runat="server" />

в коде позади:

TextBox TextBox1 = (TextBox)Login1.FindControl("TextBox1");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...