2012-10-09 24 views
0

我想停止从TextBox处按下的Enter键触发IsPostBack。该文本框不能是多行。如何从文本框回车中停止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#作为代码隐藏。

感谢

回答

3

只需设置AutoPostBack="False"这样的:

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

TextBox.AutoPostBack Property

使用AutoPostBack属性指定自动回发 服务器是否会发生TextBox控件时失去了重点。 在文本框控件中按下ENTER或TAB键是改变焦点的最常见方法。


添加到这一点,你也可以这样做:

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

来源:Disable Enter key in TextBox to avoid postback in ASP.Net

+0

该属性已经假的Visual Studio界面。但感谢您的帮助。顺便说一句,可能是我没有解释我自己。我只是想避免在该文本框中的“输入”功能。 – BrOSs

+1

编辑答案让你覆盖。 :) –

1

相反KEYUP的,使用的keyDown

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

同样的结果。无论如何谢谢 – BrOSs

+0

尝试添加e.PreventDefault作为答案更新 – Ramesh