0

我想停止在 TextBox 上按下回车键触发的 IsPostBack。文本框不能是多行的。

我正在尝试这个:

<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);">

来源:禁用 TextBox 中的 Enter 键以避免 ASP.Net 中的回发

于 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 回答