Текстовое поле asp.net не меняет идентификатор, пока установлен runat = Server

У меня есть элемент управления ниже на моей главной странице веб-сайта asp.net.

<asp:TextBox ID="txtMsg12" runat="server" Text="" Style="display: none"></asp:TextBox>

На тестовом сайте на странице просмотра браузера он отображается под тегом (измененный идентификатор и имя из-за сервера runat).

<input name="ctl00$txtMsg12" type="text" value="a" id="ctl00_txtMsg"...

Но в процессе производства он показывает ниже отрисованный html-код (изменяется только имя, а не идентификатор).

<input name="ctl00$txtMsg12" type="text" value="a" id="txtMsg12" 

Я проверил, что все файлы ASPx и CS одинаковы. В чем может быть причина?

Я использую Framework 4.0


person Sagar Shirke    schedule 26.09.2016    source источник
comment
Есть ли причина, по которой вам нужно единообразное именование идентификатора Id?   -  person Win    schedule 26.09.2016
comment
Да, он используется в javascript во многих местах. Я могу использовать Clientmode = static и двигаться, но не уверен, в чем причина этого.   -  person Sagar Shirke    schedule 27.09.2016


Ответы (2)


Когда какой-либо элемент управления находится в ContentPlaceHold, добавляется ContentPlaceHold имя в начале любого элемента управления внутри него. поэтому ctl00 - это ContentPlaceHoldID, а управление будет ctl00 _txtMsg. Отметьте это статья

person Mohamed Saeed    schedule 26.09.2016
comment
Правильно ... Но мой вопрос в том, почему на тестовом сайте оно отличается от производственного. Если вы снова посмотрите мой пост и увидите визуализированный тег ввода, то вы обнаружите, что имя меняется в производственной среде, а идентификатор - нет. - person Sagar Shirke; 26.09.2016

Проверьте, установлено ли clientIDMode на AutoId в локальном файле web.config. Если он не установлен в рабочем файле web.config, я думаю, он мог бы использовать clientIdMode="Static", который объяснил бы различное поведение.

Подробнее о ClientIdMode: https://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode(v=vs.110).aspx

person simpleman    schedule 26.09.2016
comment
Нет .. Я не использую clientIDMode = Static ни на тестовом, ни на рабочем сайте. - person Sagar Shirke; 27.09.2016