2012-10-09 28 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