在TextBox中敲擊回車執行ASP.NET后台事件


 

1.在TextBox中敲擊回車執行ASP.NET后台事件

 

0.說明

頁面中有一個用於搜索的TextBox,希望能在輸入內容后直接回車開始搜索,而不是手動去點擊它旁邊的搜索按鈕
但因為該TextBox和搜索按鈕不在一個Form里面(直接敲擊回車是另外一個按鈕響應)
所以就在網上找了一種利用jQuery綁定回車鍵, __doPostBack的方法

1.Code

Page標簽
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="OrderManagement.aspx.cs"Inherits="OrderManagement"EnableEventValidation="false" %>

 

 
TextBox與搜索按鈕
<asp:TextBoxID="TextSearch"runat="server"CssClass="col-lg-3 textbox"></asp:TextBox>
<asp:LinkButtonID="LinkButtonSearch"runat="server"CssClass="btn btn-default wolegeqv"OnClick="LinkButtonSearch_Click"><iclass="fa fa-search"></i></asp:LinkButton>

 

 
jQuery
$('#TextSearch').bind('keypress',function(event){
if(event.keyCode =="13")
{
__doPostBack('LinkButtonSearch');
returnfalse;
}
});

 

 
由於我一開始在頁面頂部 Page中設置了 EnableEventValidation="false" 所以上面的代碼能較好的運行
若設置位true,敲擊回車頁面無響應,若打開Chrome的控制台可以看到后台報了個Error
但是后來我在MSDN上看到官方強烈建議將此選項設置為True,又恰巧在StackOverflow上看到了另外一種寫法可以在啟用 EnableEventValidation的情況下運行
 
jQuery 
__doPostBack ( '<%= MYBUTTONID.UniqueID %>' , '' );
$('#TextSearch').bind('keypress',function(event){
if(event.keyCode =="13")
{
__doPostBack('<%=LinkButtonSearch.UniqueID %>','');
returnfalse;
}
});

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM