0

TextBox で押されたエンター キーから発生する IsPostBack を停止したい。textBox は複数行にすることはできません。

私はこれを試しています:

<asp:TextBox ID="kemetTextBox" runat="server" Width="215px">      
                </asp:TextBox>

                <script type="text/javascript">
                    $(document).ready(function () {
                        $("#kemetTextBox").keyup(function (e) {
                            if (e.keyCode == 13) {
                                Search();
                                return false;
                            }
                        });
                    });
                </script>

しかし、それでもページをリロードしています。

データ: Visual Studio 2010、Asp.net、分離コードとしての C#。

ありがとう

4

2 に答える 2

3

次のように設定するだけAutoPostBack="False"です:

<asp:TextBox ID="kemetTextBox" runat="server" Width="215px" AutoPostBack="False">

TextBox.AutoPostBack プロパティ

AutoPostBack プロパティを使用して、TextBox コントロールがフォーカスを失ったときにサーバーへの自動ポストバックが発生するかどうかを指定します。TextBox コントロール内で Enter キーまたは TAB キーを押すのが、フォーカスを変更する最も一般的な方法です。


これに追加すると、これも実行できます。

<asp:TextBox ID="kemetTextBox" runat="server" Width="215px" onkeydown="return (event.keyCode!=13);">

出典: ASP.Net でのポストバックを回避するために TextBox の Enter キーを無効にする

于 2012-10-09T17:03:41.820 に答える
1

KeyUp の代わりに keyDown を使用します

<script type="text/javascript">
                    $(document).ready(function () {
                        $("#kemetTextBox").keydown(function (e) {
                            if (e.keyCode == 13) {
                                Search();
                                e.preventDefault();
                                return false;
                            }
                        });
                    });
                </script>
于 2012-10-09T17:05:54.773 に答える