1

これは私のasp.netマークアップです:

<asp:TextBox runat="server" Style="width: 100px;" ID="txtCon" OnTextChanged="txtCon_TextChanged" MaxLength="10" AutoPostBack="true" />
                                 <asp:RegularExpressionValidator ValidationGroup="con" runat="server" ControlToValidate="txtCon"
                            Display="Dynamic" ErrorMessage="Invalid Format. Ex. 12 is valid format" ValidationExpression="(\d){1,10}" />

問題は、テキスト ボックスに abc と入力し、コントロールからタブを押してもポストバックが発生することです。この行為をやめさせたい。どうすればそうできますか?

4

2 に答える 2

0

OnTextChanged イベントを使用しないで、代わりに javascript 関数を使用してください。

<asp:TextBox runat="server"  Style="width: 100px;" ID="txtCon"   MaxLength="10" AutoPostBack="false" /> <asp:RegularExpressionValidator ValidationGroup="con" runat="server" ControlToValidate="txtCon"
                            Display="Dynamic" ErrorMessage="Invalid Format. Ex. 12 is valid format" ValidationExpression="(\d){1,10}" />

js関数

 $(document).ready(function () {
            $("txtCon").each(function () {
                $(this).keyup(function () {
                   //your function here
                });
            });

        });
于 2013-06-25T08:27:33.167 に答える
0

ValidationGroup="con" AND CausesValidation="true"をテキスト ボックスに追加します。

テキストボックスをこれに置き換えます

    <asp:TextBox runat="server" Style="width: 100px;" ID="txtCon" OnTextChanged="txtCon_TextChanged"
    MaxLength="10" AutoPostBack="true" ValidationGroup="con" CausesValidation="true"/>
于 2013-06-25T09:37:31.130 に答える