Редактировать: классический случай проверки перед публикацией. Видимо, установка hidden = true фактически предотвращает привязку данных, из-за чего у JS возникают проблемы. Я сказал бы, что это одна из тех типичных проблем с ASP.NET, которая заставляет меня ругаться, что это само название, но вы могли бы просто выбрать адаптацию элемента управления с одним из многих googleable решений .
Комментарии об использовании идентификатора элемента в ASP.NET остались без изменений, потому что это зло.
Трудно понять без дополнительного кода (когда это выполняется точно? Перезаписывает ли это что-то еще? Как выглядит разметка?), Но сейчас я могу сказать, что ссылка на элемент по его деформированному идентификатору ASP.NET - это плохо Идея (TM).
Если вы можете, я предлагаю вам попробовать и изменить это в коде, где ссылка обрабатывается для вас, или, по крайней мере, выписать JS там, где вы можете использовать clientID. В противном случае я попытался бы найти элемент с помощью расширенного средства поиска элементов - вашего собственного или библиотечного типа, такого как функция $ $ jquery et al., - которое позволит вам вместо этого использовать надежный аргумент CSS или Xpath.