ASP.net перевернуть идентификатор клиента для элементов формы

Учитывая текстовое поле:

<asp:Textbox runat="server" id="txtAddress1" />

Это выглядит как нечто похожее на:

<input name="ctl00$mainContent$txtAddress1" type="text" id="ctl00_mainContent_txtAddress1" />

Я не думаю, что функции автозаполнения браузеров распознают это имя / идентификатор как поле, которое они могут заполнять автоматически, они не являются стандартными распознанными именами.

Есть ли способ переопределить идентификаторы клиентов, чтобы у автозаполнения был лучший шанс их распознать?

2 ответа

Решение

2 балла с этим.

1) Функция "Переопределить имя" была введена в ASP.Net 4.0, где для любого свойства вы можете выбрать жестко закодированное имя вместо динамического имени. Вы должны быть осторожны с этим, поскольку вы не хотите, чтобы 2 объекта имели одно имя.

2) ASP.Net 2.0 и выше (возможно, версии 1.0) имеет свойство в элементе управления, называемое "AutoCompleteType", которое предоставляет подсказку браузеру о том, какая информация требуется в поле.

Предполагая, что вы используете Asp.net 4.0 и вам известны точки, упомянутые DJIDave, вы можете использовать свойство ClientIDMode в элементе управления и установить для него значение "Статический". Тогда все, что вы укажете в поле Id в Asp.Net, будет перенесено в вашу окончательную разметку и не будет "искажено" (из-за отсутствия лучшего слова) в Asp.Net.

Другие вопросы по тегам