Самый простой способ, который я нашел, - это просто сопоставить конец искаженного идентификатора для большинства элементов управления. Исключениями, о которых известно, являются списки радиокнопок и списки флажков — с ними нужно быть немного хитрее.
Но если у вас есть это на вашей странице .aspx:
<asp:TextBox ID="txtExample" runat="server" />
Тогда ваш jQuery может легко найти этот элемент управления, даже если он искажен рендерингом главной страницы, например:
$("[id$=txtExample]")
Оператор $=
соответствует концу строки, а искажение имени всегда находится впереди. Как только вы это сделаете, вы можете получить фактический искаженный идентификатор следующим образом:
$("[id$=txtExample]").attr("id")
а затем проанализируйте это так, как считаете нужным.
РЕДАКТИРОВАТЬ: это простой способ, но он может быть более производительным, чем просто дать каждому элементу управления класс, такой же, как его старый идентификатор.
См. эту статью, ссылку на которую Джефф разместил по другому вопросу оптимизации jQuery:
jQuery: анализ производительности селекторов
person
CMPalmer
schedule
05.12.2008