0

検索用のテキスト ボックスと画像ボタンを含む aspx ページがあります。テキストボックスで比較バリデーター(整数値をチェックするため)を使用しました。しかし、英数字を入力しても画像ボタンをクリックするとページがリロードされ、エラーメッセージが表示されます。

代わりに正規表現バリデーターを使用してみましたが、問題は解決しません。

しかし、代わりに単純な asp:button を使用してテキストボックス検証にバインドすると、正常に動作し (つまり、テキストボックスの値が正しくない場合にポストバックは発生しません)、ドロップダウンリストでも同じです (ポストバックは発生しません)。

提案してください。

これがコードです-

@peroija:コードは次のとおりです

<asp:ImageButton ID="btnSearch" runat="server" OnClick="btnSearch_Click" 
    ToolTip="Search" ValidationGroup="valControl" CausesValidation="true" />
<asp:TextBox ID="txtWidth" CssClass="TextFont" runat="server" 
    Width="233px" MaxLength="20" 
    ValidationGroup="valControl" CausesValidation="true"></asp:TextBox>
<asp:CompareValidator runat="server" ID="cmpValWidth" 
    ErrorMessage="Please enter integer values" ControlToValidate="txtWidth" Display="Dynamic" 
    Operator="DataTypeCheck" ValidationGroup="valControl"Type="Integer"/>
4

2 に答える 2

0

これをテキストボックスから削除します。バリデーターとボタンでのみ必要です。

ValidationGroup="valControl" CausesValidation="true"

JavaScript が無効になっている場合、クライアント側の検証は行われないため、常にサーバー側でも有効性を確認してください。

if(Page.IsValid)
{
    "your btnSearch_Click code"
}
于 2012-06-08T05:43:24.167 に答える
0

あなたが書く必要があるように私には聞こえます

if(!isPostBack)
{

「あなたのコード」

}

コードビハインドで。ページが初めて表示されない場合にコードが実行されないようにするため

于 2012-06-07T11:11:22.540 に答える