2015-12-29 12 views
2

我有包含搜索功能,一個用戶的控制。當我加載默認我設置聚焦這個搜索textbox這個用戶控件:如何在文本框上按回車鍵來防止重定向到另一個aspx頁面?

<asp:TextBox ID="txtSearch" runat="server"></asp:TextBox> 
    <asp:ImageButton ID="btnSearch" runat="server" ToolTip="Search" OnClick="btnSearch_Click" /> 

現在,當我按在文本框中輸入鍵,然後控制轉到我的母版頁加載事件和該母版頁加載事件包含重定向到相應url的一種方法。

但是這隻發生在輸入和控制去掌握頁面加載事件,我想停止這一點。

那麼如何防止這個??

+0

你需要在母版頁自己處理這個。在這種情況下腳本不會幫你 –

+0

@RahulNikate:如何在母版頁上處理這個問題。你可以告訴我更詳細的信息嗎? –

+0

請參閱我的回答 –

回答

2

我建議你按照下面的方法。將文本框和按鈕放入面板中,並將默認按鈕設置爲您要在輸入時激活的按鈕。

<asp:Panel ID="panel" runat="server" DefaultButton="btnSearch"> 
    <asp:TextBox id="txtSearch" runat="server" /> 
    <asp:ImageButton ID="btnSearch" runat="server" ToolTip="Search" OnClick="btnSearch_Click" /> 
</asp:Panel> 
+0

但輸入按鍵火災載入事件 –

+0

對不起沒有得到你。你在這裏談論哪個加載事件。 –

+0

看到我的這個文本框在我的用戶控件中,所以輸入該用戶控件的按鍵加載事件時觸發 –

1

您可以使用下面的腳本禁用ENTER鍵:

$('TextBox').keypress(function(event) { 
    if (event.keyCode == 13) { 
     event.preventDefault(); 
    } 
}); 
+0

是不是沒有任何JavaScript或任何代碼? –

+0

相反,OP可以從文本框中刪除焦點,而不是寫入該腳本 –

+0

@學習:據瞭解 –

1

防止對文本框

$('[id*="txtSearch"]').keypress(function(e){ 
    if (e.which == 13) return false; 
}); 

回車鍵使用C#,創建按鍵響應事件,並使用裏面的代碼。

if (e.KeyCode == Keys.Enter) 
{ 
    e.SuppressKeyPress=true; 
} 

您可以在文本框上使用onkeypress="__doPostBack(this.name,'OnKeyPress');"創建事件。

<asp:TextBox ID="txtSearch" runat="server" onkeypress="__doPostBack(this.name,'OnKeyPress');"></asp:TextBox> 
+0

沒有這個可能沒有任何JavaScript或任何代碼? –

+0

相反,OP可以從文本框中刪除焦點,而不是編寫此腳本 –

+0

@RahulNikate:刪除焦點沒有解決問題 –

相關問題