日常上网时会发现,TextBox会记忆用户曾经输入过的文字,当下次再输入时就会自动提示相关字词,最常见的是用户登录网站时就会自动带出帐号密码。
但是某些项目中为了安全,不允许出现自动完成的功能。我们可以在ie的【工具】→【选项】→【内容】→【自动完成】中删除提示信息,但是这个不能根本解决问题,因为这个删除只是删除以前的,怎么样能让某些textbox彻底禁用这个自动完成的功能呢。
经过测试发现,textbox有个AutoCompleteType的属性,默认为none,为none时是根据客户端自身ie的设置来定的,如果我们将其设置为Disable后,再运行程序,发现讨厌的自动完成功能彻底没有了。
AutoCompleteType还有很多其它值,它是根据客户输入的内容来选择是否打开自动完成的功能,比如我们要求某个textbox只在用户输入email时自动完成,那么我们可以设置AutoCompleteType的值为email。
None无任何类别与 TextBox 控件相关联。具有相同 ID 的所有 TextBox 控件都共享同一值列表。Disabled为 TextBox 控件禁用自动完成功能。Cellular移动电话号码类别。Company企业名称类别。Department企业内的部门类别。DisplayName为该用户显示的名称类别。Email用户的电子邮件地址类别。FirstName用户名类别。Gender用户性别类别。HomeCity家庭地址所在城市类别。HomeCountryRegion家庭地址所在国家/地区类别。HomeFax家庭地址的传真号码类别。HomePhone家庭地址的电话号码类别。HomeState家庭地址所在州类别。HomeStreetAddress家庭地址所在街道类别。HomeZipCode家庭地址的邮政编码类别。Homepage网站的 URL 类别。JobTitle用户的职务类别。LastName用户的姓氏类别。MiddleName用户的中名类别。Notes要包含在窗体类别中的任何补充信息。Office业务办公室所在位置类别。Pager寻呼机号码类别。BusinessCity办公地址所在城市类别。BusinessCountryRegion办公地址所在国家/地区类别。BusinessFax办公地址的传真号码类别。BusinessPhone办公地址的电话号码类别。BusinessState办公地址所在州类别。BusinessStreetAddress办公地址所在街道类别。BusinessUrl业务网站的 URL 类别。BusinessZipCode办公地址的邮政编码类别。Search用于搜索网页或网站的关键字类别。 备注
为了协助数据输入,Internet Explorer 5(以及更高版本)和某些浏览器支持称为“自动完成”的功能。“自动完成”监视一个文本框并创建用户输入的值的列表。用户在以后返回该文本框时,会显示该列表。用户只需从此列表选择值,而不用重新键入以前输入过的值。若要控制 TextBox 控件的自动完成功能的行为,请使用 AutoCompleteType 属性。AutoCompleteType 枚举用于表示可以应用到 AutoCompleteType 属性的值。
不是所有的浏览器都支持自动完成功能。请检查浏览器以确定兼容性。
默认情况下,TextBox 控件的 AutoCompleteType 属性设置为 AutoCompleteType.None。使用此设置,TextBox 控件可跨不同的页将列表与具有相同 ID 的其他 TextBox 控件共享。还可以根据类别(而不是 ID)将列表在多个 TextBox 控件中共享。在将 AutoCompleteType 属性设置为一个类别值(如 AutoCompleteType.FirstName、AutoCompleteType.LastName 等)时,具有相同类别的所有 TextBox 控件都共享同一列表。通过将 AutoCompleteType 属性设置为 AutoCompleteType.Disabled 可以禁用 TextBox 控件的自动完成功能。
有关配置和启用自动完成功能的详细信息,请参考浏览器文档。例如,若要在 Internet Explorer 5 或更高版本中启用自动完成功能,请从“工具”菜单选择“Internet 选项”;然后选择“内容”选项卡。单击“自动完成”按钮,查看并修改自动完成功能的各种浏览器选项。
有关 Internet Explorer 中的自动完成功能的更多信息,请在位于 http://www.microsoft.com/china/msdn/library 上的 MSDN Library 中搜索“Using AutoComplete in HTML Forms”(在 HTML 窗体中使用自动完成)主题。