Asp.Net回车键触发Button的OnClick事件解决方案
?
在aspx頁面有textbox文本框,還有三個button按鈕。啟用textbox的TextChanged事件和button的click事件。
問題:
現在在textbox文本框輸入完數據按“回車”后,會觸發TextChanged事件,但同時還會觸發該頁面第一個button按鈕的Click事件。
解決方法一:
當在文本框中敲回車的時候,表單提交。因為在.net中一個Page只有一個form表單。所以也就有一個Sumbit事件。
當UseSubmitBehavior的屬性是True的時候,表單的提交就會觸發此事件。
先后順序是先觸發點擊事件,然后觸發 UseSubmitBehavior為True的button的click時間。
當然如果有多個button就會默認的觸發第一個button事件。
為了解決該問題將UseSubmitBehavior改為false即可。(多個button時,UseSubmitBehavior全改為false。)
解決方法二:
(當你要用button的OnClientClick彈出確認窗口的時候,如果UseSubmitBehavior為false,不論你選擇什么都不會執行服務器的button的OnClick代碼,這時候就需要用解決方法二)
解決方法來自孟子E章:
private?? void?? Page_Load(object?? sender,?? System.EventArgs?? e)???
{???
? TextBox1.Attributes.Add("onkeydown","if(event.keyCode==13)?? {this.blur();return?? false}");???
}???
private?? void?? Button1_Click(object?? sender,?? System.EventArgs?? e)???
{???
? Response.Write("Button");???
}???
private?? void?? TextBox1_TextChanged(object?? sender,?? System.EventArgs?? e)???
{Response.Write(TextBox1.Text);???
}
?(確保TextBox1的AutoPostBack屬性為True,實際使用中發現,只要設置為true,不需要上面的代碼也可以解決問題。)
?另外,可以設置 客戶端ID.focus()? or? 設置tabIndex 屬性。
?
總結
以上是生活随笔為你收集整理的Asp.Net回车键触发Button的OnClick事件解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP获取图片宽度高度、大小尺寸、图片类
- 下一篇: HTML,,,音乐,html embed