昨天在項目中遇到了很奇怪的問題,就是按鈕獲取焦點的問題,我一直不能按照我的代碼來控制按鈕的焦點,最後我采用了笨的辦法來實現我的功能,也就有了上一篇博客中的文章。今天我查了一下,原來是按鈕的UseSubmitBehavior 屬性,當我把這個屬性設置為false以後,就可以控制我的焦點了,我們看一下MSDN對這個屬性的描述:
使用 UseSubmitBehavior 屬性來指定 Button 控件使用客戶端浏覽器的提交機制還是 ASP.Net 回發機制。默認情況下,此屬性的值為 true,從而導致 Button 控件使用浏覽器的提交機制。如果指定為 false,則 ASP.Net 頁框架將客戶端腳本添加到頁面,以將窗體發送到服務器。
當 UseSubmitBehavior 屬性為 false 時,控件開發人員可以使用 GetPostBackEventReference 方法來返回 Button 的客戶端回發事件。GetPostBackEventReference 方法返回的字符串包含客戶端函數調用的文本,可以插入到客戶端事件處理程序中。
我們做個簡單的測試,在頁面上放一個按鈕,分別設置該屬性的true和false,然後我們對比產生的Html頁面源碼:
我們可以看到設置為false的按鈕的單擊事件用dopostback來進行回發的。
以後還需要對控件的一些重要屬性熟悉才可以提高工作的效率。