Подтвердить что ты не робот

Есть ли недостаток, чтобы установить ClientIDMode = Static на каждый объект (установленный на maincontent главной страницы)

Я работаю над проектом asp.net, и каждый раз мне нужно использовать jquery identifier $(# "objectID" ). Мне нужно изменить ClientIDMode на каждый объект, чтобы он был статичным. Поскольку я заметил, что режим ID клиента по умолчанию - Inherit, поэтому я устанавливаю режим идентификатора клиента MainContent как статический, и я обнаружил, что все объекты стали статическими.

Это наверняка сэкономит много времени при работе с jquery, но я просто хочу знать, есть ли недостаток от этого и есть ли причина, почему ClientIDMode не статично ставится на первое место?

4b9b3361

Ответ 1

Вы хотите быть осторожным при настройке ClientIDMode на Static для таких вещей, как пользовательские элементы управления, или вы можете получить несколько элементов с одинаковым идентификатором.

Для элементов управления с привязкой к данным, таких как GridView, вы также захотите использовать свойство ClientIDRowSuffix для обеспечения того, чтобы каждая строка была дифференцирована.

В этом сообщении есть несколько хороших примеров.

Ответ 2

Еще один способ справиться с идентификаторами в JavaScript - сделать что-то вроде этого:

var something = '<%= btnId.ClientID %>';

Пример. Если у вас есть кнопка управления следующим образом:

<asp:Button ID="btnId" runat="server"></asp:Button>    

а идентификатор переведен на id="ct100_ContentPlaceHolder1_btnId", тогда вы можете использовать переменную something для доступа к элементу управления.