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.