[Tech]關於ASP.NET的AutoComplete

Date: 2008-09-15

收藏此篇至Furl | 收藏此篇至del.icio.us

先來談談「自動完成」
AutoComplete是每個Browser會附帶的功能,對使用者來說,不但能加快填表單的程序,也能少key幾個字,但有些時候就是不知道為什麼,一些key過的欄位,瀏覽器卻不會自動帶出。

會注意到這個的原因是因為最近寫了個小系統給人事室使用,他們就反應說有的欄位key過了,是否能顯示那些key過的資料,讓他們用選的就好,省的再key一次,然後我就開始不斷的找原因。

一開始,我先是在form.Load事件中加入下面的語法:

Form.Attributes.Add("autocomplete", "on")

結果:殘念

然後我就開始找,是不是在控制項內有加什麼鬼屬性,結果也沒有。
最後,還是得靠google大神,讓我找到下面這篇很鳥的文章
文章連結:BUG:當您使用指令碼來送出表單自動完成 沒有作用

雖然機器翻得很鳥,但足夠我了解它的意思了,起碼重點都有寫到。

基本上,我的web程式是使用的是VS2005來開發,因此在頁面上的form都只會導向自己本身(請看source code的form屬性),因此在form裡面的button,預設就會submit到自己,但由於我在那個送出的button屬性中,加了一個"UseSubmitBehavior=false"的屬性,導致這個form上面就沒有做出submit的動作,而是由button所引發的事件而作出後讓人以為是submit的動作。範例如下:
<asp:Button ID="btnSubmit" runat="server" Text="登入" UseSubmitBehavior="false" />


所以,結論就是把這個屬性拿掉,browser就可以幫user記下表單內容了。

Labels:

1 Comments:

Anonymous Anonymous said...

Well said.

11/12/2008 03:45:00 PM

 

Post a Comment


 

2008 © Yen. All Rights Reserved.