2012-05-09 7 views
0

У меня есть элемент управления для входа в систему, и я добавил к нему кнопку сброса, конвертировав его в шаблон. Я также попытался очистить текст, используя метод поиска. Но я не могу очистить текстовые поля. Html и Codebehind нижеКнопка регистрации входа в систему ASP

Код:

<asp:Login ID="lgnLogin" runat="server" MembershipProvider = "myCustomProvider" OnAuthenticate = "lgnLogin_Authenticate" DisplayRememberMe = "false" TitleText = "" UserNameLabelText = "Username" > 
    <LayoutTemplate> 
     <table cellpadding="1" cellspacing="0" style="border-collapse:collapse;"> 
      <tr> 
       <td> 
        <table cellpadding="0"> 
         <tr> 
          <td align="right"> 
           <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Username</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="lgnLogin">*</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="lgnLogin">*</asp:RequiredFieldValidator> 
          </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="resetButton" runat="server" Text="Reset" 
            onclick="resetButton_Click"/> 
          </td> 
          <td align="right" colspan="2"> 
           <asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" 
            ValidationGroup="lgnLogin" /> 
          </td> 
         </tr> 
        </table> 
       </td> 
      </tr> 
     </table> 
    </LayoutTemplate> 
</asp:Login> 

Codebehind:

protected void resetButton_Click(object sender, EventArgs e) 
    { 
     TextBox username = (TextBox)lgnLogin.FindControl("UserName"); 
     TextBox passsword = (TextBox)lgnLogin.FindControl("Password"); 

     username.Text = ""; 
     passsword.Text = ""; 

    } 
+0

Это .NET не ASP Classic. –

+0

Возможно, ваш браузер запомнил имя пользователя и пароль. добавьте autocomplete = "off" внутри вашей формы. –

ответ

1

Пароль должен очистить автоматически постбэка в любом случае, но UserName хранится в контрольных ViewState и обновляет ее Textbox после вашего мероприятия уволил, так что вы также должны очистить поле имя пользователя, как это -

lgnLogin.UserName = ""; 

Это должно делать то, что вы хотите.

Смежные вопросы