2009-10-14 2 views
3

Элемент управления ASP.NET TextBox имеет свойство AutoCompleteType, которое принимает значение перечисления AutoCompleteType.ASP.Net TextBox.AutoCompleteType свойство - полезно? настраиваемый?

Во-первых, это свойство обычно используется в реальной разработке? Или отключен автозаполнение браузера и вместо этого используется автозаполнение Ajax?

Во-вторых, вы ограничены только значениями в перечислении AutoCompleteType? Можете ли вы расширить перечисление AutoCompleteType, чтобы содержать пользовательские значения?

ответ

4

Перечисление AutoCompleteType - это просто простой способ ссылки на атрибут autocomplete expando, открытый тегом html. Этот атрибут может быть любой строкой, при этом «выключено» зарезервировано для отключения функции. Любые текстовые поля, которые используют определенную строку, начнут автозаполнение из того же общего списка предыдущих записей.

Например: Если вы установите автозаполнение на 2-х ящиках в «автомобиль», при следующем посещении формы с другим полем с автозаполнением, установленным в «автомобиль», ваши ранее использованные варианты станут доступными.

+0

Когда я пытаюсь '' в Visual Studio, страница не будет компилироваться - я получаю ошибку 'Невозможно создать объект типа 'System.Web .UI.WebControls.AutoCompleteType 'из строкового представления' car 'для свойства' AutoCompleteType '. – Nate

+0

Извините, я не был чист. Сам атрибут html может быть установлен на все. Microsoft любит «помогать» и дает вам ограниченный список выборов через перечисление. Если вы хотите другое значение, вам нужно будет установить атрибут напрямую через SetAttribute. –

+0

OK - спасибо за то, что указали мне на метод setAttribute() ... поэтому AutoCompleteType звучит бесполезно :) или, по крайней мере, посторонним ... – Nate

3

Установка autocompletetype="disabled" на самом деле не отключила авто в Firefox. Единственный раз, когда работает autocompletetype, клиент использует IE. (Yay asp.net браузер sniffing.)

Использование нестандартного атрибута autocomplete="off" работает - и вы можете использовать его в своей разметке вместо использования setattribute().