[研究][ASP.NET]關閉TextBox欄位的「自動完成」(AutoComplete="Off")
2020-12-24
Visual Studio 2019 v16.8.3 + WebForm + ASP.NET
在用 GridView1、DetailsView1 做新增、修改功能時,
TextBox 欄位填寫時,有時候滑鼠點下去會自動下拉顯示一項目選擇,
這是 HTML 提供的 「自動完成」(AutoComplete) 功能,預設是啟用 (Enabled, On),
本意是幫助使用者,若有可選的,可省得輸入。
但是當顯示的內容和欄位目的不同 (ex: 姓名欄位出現日期),
被測試者當 Bug 一再回報,就想關了它。
依據
<asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
改成
<asp:TextBox ID="TextBox1" runat="server" AutoCompleteType="Disabled"></asp:TextBox>
執行後檢視 HMTL 原始碼是
<input name="TextBox1" type="text" autocomplete="off" id="TextBox1" />
但這一次只能改一個欄位
****************************************
另外 DetailsView1 預設使用 <asp:BoundField DataField ,
若使用【編輯欄位】功能把每個欄位都做【將這個欄位轉換為 TemplateField】,
然後每個 TextBox 去加上,太累了。
後來找到一種方可以一次可改一個網頁
<form id="form1" runat="server">
改成
<form id="form1" runat="server" autocomplete="off">
或者 C# Code
protected void Page_Load(object sender, EventArgs e)
{
this.Form.Attributes.Add("AutoComplete", "Off");
}
若使用 主版頁面 Master Page (ex : Site1.Master)
甚至應該可以關閉正個網站 input / TextBox 欄位的「自動完成」
而之前從 BoundField 找關閉方法,根本找錯方向。
(完)
相關
HTML <input> autocomplete 屬性
https://www.w3school.com.cn/tags/att_input_autocomplete.asp
沒有留言:
張貼留言