Что обычно делает ASP.NET, так это префикс ID вашего элемента управления строкой, которую он использует, чтобы определить, где в дереве элементов управления ASP.NET находится ваш фактический элемент управления.
Учитывая это, я обычно делаю следующее:использовать селектор jQuery «заканчивается с» для получения полного ASP.NET-анализируемого идентификатора во время выполнения.
Что-то вроде:
// get a handle on your original control
var myControl = $('[id$="<myOriginalId>"]');
// and then access it's properties
var myRuntimeId = myControl.eq(0).attr('id');
Как вы, вероятно, можете себе представить, это не будетобрежьте его, когда у вас есть UserControls с тем же идентификатором, который используется в разных местах формы.Я просто заскочил и добавил кое-какие настройки (возможно, с использованием функции .eq()
), чтобы удовлетворить потребности моего бизнеса.