Проверка не работает для клика ImageButton - PullRequest
2 голосов
/ 17 марта 2011

У меня есть кнопка с изображением для входа в систему.так как наиболее распространенная вещь, у меня есть два текстовых поля txt_username и txt_password.Я поставил обязательное поле валидатора для обоих текстовых полей.и установить группу проверки «а» и соответствующий элемент управления для проверки для них обоих.исходный код для моего ImageButton выглядит следующим образом: -

<td align="right" class="simple_text">&nbsp;</td>
<td align="left">
     <asp:ImageButton ID="ImageButton1" runat="server" CausesValidation="true"
          ImageUrl="~/images/signin_button.gif" onclick="ImageButton1_Click" 
          ValidationGroup="a" />
 </td>

теперь я сыт по горло, как когда я запускаю свое приложение и нажимаю кнопку ImageButton, оно вообще не отвечает на проверку и перенаправляет к следующемустр.Кто-нибудь может сказать, почему это так?это первый раз, когда валидаторы не работают.

это исходный код: -

<td align="left"><table width="480" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="178" align="right" class="simple_text">User Name :&nbsp;</td>
            <td width="302" align="left">

                &nbsp;<asp:TextBox ID="txt_username" runat="server" 
                    CssClass="text_box_username" Width="180px" AutoPostBack="True" 
                    ontextchanged="txt_username_TextChanged" ValidationGroup="a" 
                    CausesValidation="True"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                    ControlToValidate="txt_username" ErrorMessage="RequiredFieldValidator" 
                    ValidationGroup="a">**</asp:RequiredFieldValidator>
          </td>
          </tr>
          <tr>
            <td align="right" class="simple_text">&nbsp;</td>
            <td align="left">&nbsp;</td>
          </tr>
          <tr>
            <td align="right" class="simple_text">Password :&nbsp;</td>
            <td align="left">
                <asp:TextBox ID="txt_password" runat="server" CssClass="text_box_password" 
                    TextMode="Password" Width="180px" ValidationGroup="a" 
                    CausesValidation="True"></asp:TextBox>
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
                    ControlToValidate="txt_password" ErrorMessage="RequiredFieldValidator" 
                    ValidationGroup="a">**</asp:RequiredFieldValidator>
                                        </td>
          </tr>
          <tr>
            <td align="right" class="simple_text">&nbsp;</td>
            <td align="left">&nbsp;</td>
          </tr>
          <tr>
            <td align="right" class="simple_text">&nbsp;</td>
            <td align="left">
                <asp:ImageButton ID="ImageButton1" runat="server" CausesValidation="true"
                    ImageUrl="~/images/signin_button.gif" onclick="ImageButton1_Click" 
                    ValidationGroup="a" />
              </td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td align="left">&nbsp;</td>
      </tr>
      <tr>

Ответы [ 3 ]

2 голосов
/ 18 марта 2011

привет, просто вставьте этот код будет работать для вас

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <td align="left"><table width="480" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="178" align="right" class="simple_text">User Name :&nbsp;</td>
            <td width="302" align="left">

                &nbsp;<asp:TextBox ID="txt_username" runat="server" 
                     Width="180px" AutoPostBack="True" 
                     ValidationGroup="a" 
                    CausesValidation="True" ontextchanged="txt_username_TextChanged"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                    ControlToValidate="txt_username" ErrorMessage="RequiredFieldValidator" 
                    ValidationGroup="a">**</asp:RequiredFieldValidator>
          </td>
          </tr>
          <tr>
            <td align="right" class="simple_text">&nbsp;</td>
            <td align="left">&nbsp;</td>
          </tr>
          <tr>
            <td align="right" class="simple_text">Password :&nbsp;</td>
            <td align="left">
                <asp:TextBox ID="txt_password" runat="server" 
                    TextMode="Password" Width="180px" ValidationGroup="a" 
                    CausesValidation="True"></asp:TextBox>
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
                    ControlToValidate="txt_password" ErrorMessage="RequiredFieldValidator" 
                    ValidationGroup="a">**</asp:RequiredFieldValidator>
                                        </td>
          </tr>
          <tr>
            <td align="right" class="simple_text">&nbsp;</td>
            <td align="left">&nbsp;</td>
          </tr>
          <tr>
            <td align="right" class="simple_text">&nbsp;</td>
            <td align="left">
                <asp:ImageButton ID="ImageButton1" runat="server" CausesValidation="true"
                    ImageUrl="~/images/signin_button.gif" onclick="ImageButton1_Click" 
                    ValidationGroup="a" />
              </td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td align="left">&nbsp;</td>
      </tr>
      <tr>

    </div>
    </form>
</body>
</html>
1 голос
/ 17 марта 2011

Надеюсь, вы правильно указали свойство validationGroup.

Указание групп проверки

0 голосов
/ 17 марта 2011

Как насчет этого:

<asp:ImageButton runat="server" CausesValidation="true" ImageUrl="..." />

CausesValidation = "true" может привести к запуску проверки.

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