最進發現Textbox控制項在使用者輸入內容按Enter鍵後,
頁面完全不處理Textbox控制項的內容,直接跳回首頁!(ó﹏ò。)
印象中之前會跑頁面中Button控制項的OnClick事件,
或是使用Textbox控制項自己的OnTextChanged事件來處理,
現在都不行了!
在Google了幾個方法後,整理二種在這裡做個筆記:
1.
新增Textbox控制項的onekeypress屬性,攔截Enter鍵的ASCII碼,
例如在Page_Load中直接設定:
頁面中的每一個Textbox控制項都要新增onekeypress屬性,
如此一來就使用者不管在哪一個文字輸入欄位中按Enter鍵都不會有反應了。
2.
上述的方法可以讓流程一律等到Button控制項的OnClick事件發動時再來處理,
不過若是遇到依據條件才依序處理的頁面,就不適用了!
例如下列的功能頁面中的查詢表單:
由於入場憑證是以條碼型態發送,所以查詢時可直接以掃描條碼方式進行,
使用者當然是希望掃描完條碼就可以直接看到查詢結果,
然而條碼掃描器通常都會在最後送出一個Enter鍵,
如果未依據上述1. 進行,掃描完條碼頁面就直接跳回首頁,
但如果依據上述1. 進行,掃描完條碼頁面就停住不動作了...
所以捨棄上述1. 的方法從頁面的控制項下手,
新增一個Panel控制項,把Textbox及Button控制項包起來,
並設定DefaultButton的屬性,如下程式碼截圖:
如此一來不管使用者在哪一個Textbox按下Enter鍵,
都會去執行指定Button控制項的OnClick事件內容,
這樣就不會莫名其妙的跳回首頁了!
文章標籤
全站熱搜
