2013-12-18 2 views
2

На моих страницах администрирования у меня есть кнопка "Log out". На одной странице есть эта форма, которую вы можете заполнить и отправить, и у нее есть validator controls. Проблема в том, что когда я нахожусь на этой странице, я не могу выйти из системы, потому что она хочет, чтобы текстовые поля были заполнены, хотя это явно - не отправлено через кнопку выхода из системы. Выполняют ли валидаторы каждый раз, когда вы пытаетесь покинуть эту страницу, хотя я не пытаюсь отправить форму? Чтобы быть ясным: он работает для каждой другой страницы, это просто проверка здесь, которая останавливает его.Пытается подтвердить, нажав кнопку выхода из системы, вместо отправки

Код формы: Кнопка

<p> 
     <asp:Label ID="lblA" runat="server" Text="LabelA"></asp:Label><br /> 
     <asp:TextBox ID="txtA" runat="server"></asp:TextBox> 
     * 

       <asp:RequiredFieldValidator 
        ID="rfvA" 
        runat="server" 
        ControlToValidate="txtA" 
        ErrorMessage="Required" 
        Display="Dynamic"> 
       </asp:RequiredFieldValidator> 
    </p> 
    <p> 
     <asp:Label ID="lblB" runat="server" Text="LabelB"></asp:Label><br /> 
     <asp:TextBox ID="txtB" runat="server"></asp:TextBox> 
     * 

       <asp:RequiredFieldValidator 
        ID="rfvB" 
        runat="server" 
        ControlToValidate="txtB" 
        ErrorMessage="Required" 
        Display="Dynamic"> 
       </asp:RequiredFieldValidator> 
    </p> 

Выход:

<asp:Button runat="server" Text="Log out" ID="btnLogout" OnClick="btnLogout_Click"/> 

Когда Выйдите щелкают:

protected void btnLogout_Click(object sender, EventArgs e) 
    { 
     FormsAuthentication.SignOut(); 
     FormsAuthentication.RedirectToLoginPage(); 
    } 

Есть идеи?

ответ

5

добавить причиной проверки ложно кнопке

<asp:Button runat="server" CausesValidation="False" Text="Log out" ID="btnLogout" OnClick="btnLogout_Click"/>

+0

Perfect. Принят как можно скорее. Благодарю. – guitarzero

0

Также вы можете использовать ValidationGroup свойство управления. Назначьте те же самые ValidationGroup группе элементов управления (и RequiredFieldValidator), которые требуются для проверки, например, как поля имени пользователя и пароля и кнопка входа в систему (в вашем случае в двух текстовых полях) и назначить разные ValidationGroup другим элементам управления (в вашем case to logout).

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

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