, Если и , только если Вы - контейнерное расположение, никогда не собирается изменяться и , Вы требуете для помещения JavaSctipt/jQuery во внешний файл, Вы могли использовать сгенерированные идентификаторы в своих селекторах jQuery т.е.
$('#ctl00_ContentPlaceHolder1_Label3').html(xml);
, Очевидно, этот подход требует, чтобы Вы узнали то, что сгенерированные идентификаторы будут и требуют осторожности, если Вы когда-нибудь начнете изменять конструкцию сайта/приложения.
Иначе, Ваш лучший опции
1. Использование встроенная разметка серверного кода. Оборотная сторона к этому подходу - то, что Вы не можете поместить свой код js во внешний файл -
$('#<%= Label3.ClientID %>').html(xml);
2. Определяют уникальные классы CSS на каждом управлении, которое необходимо использовать в jQuery, который все еще позволил бы Вам помещать свой код js во внешний файл -
$('.label3').html(xml);
3. Использование селекторы jQuery для копирования соответствуют исходному идентификатору, который снова, позволил бы Вам помещать свой код js во внешний файл -
$('[id$=Label3]').html(xml);
, Этот селектор jQuery выберет все элементы с атрибутом идентификатор , значение которого заканчивается Label3. Единственная потенциальная оборотная сторона, которую я видел с этим подходом, - то, что в теории, могло быть возможно иметь Элемент управления "метка" с идентификатором Label3 в, говорят, страница Master и также на двух страницах содержания. В этом примере, с помощью селектора jQuery выше соответствовал бы всем трем маркировкам, которые могут иметь нежелательные последствия.
РЕДАКТИРОВАНИЕ:
я думал, что могло бы быть полезно повысить Ваше внимание к управление IDOverride . Страница Example может быть найдена здесь
, Она позволяет Вам указывать, какие средства управления должны иметь свой искаженный идентификатор в произведенной разметке HTML, переопределенной с идентификатором, как дан в .aspx файле при рендеринге страницы HTML. Я только играл с ним кратко с единственным Ведущим устройством Page и Панелями, но это, кажется, работает хорошо. Используя это, Вы могли использовать исходные идентификаторы в своих селекторах jQuery. Знайте однако, что результаты непредсказуемы, если у Вас должны были быть средства управления с теми же идентификаторами на Вашей странице (страницах) Master и странице (страницах) Content, которые объединены для рендеринга HTML для одной страницы.
Обычно это делается с помощью Event # findElement
:
document.observe('click', function(e, el) {
if (el = e.findElement('.foo')) {
// there's your `el`
// might want to stop event at this point - e.stop()
}
});