Если и , только если ваша компоновка контейнера никогда не изменится и вам требуется поместить JavaSctipt / jQuery во внешний файл, вы может использовать сгенерированные идентификаторы в селекторах jQuery, например
$('#ctl00_ContentPlaceHolder1_Label3').html(xml);
Очевидно, что этот подход требует от вас выяснения того, какими будут сгенерированные идентификаторы, и требует осторожности, если вы когда-нибудь начнете изменять конструкцию сайта / приложения.
В противном случае ваши лучшие варианты
1. Использовать встроенную разметку кода на стороне сервера. Недостатком этого подхода является то, что вы не можете поместить свой код js во внешний файл -
$('#<%= Label3.ClientID %>').html(xml);
2. Определите уникальные классы CSS для каждого элемента управления, который вам нужно использовать в вашем jQuery, который все равно позволит вам поместить свой код js во внешний файл -
<asp:Label ID="Label3" runat="server" Text="test" CssClass="label3">
</asp:Label>
$('.label3').html(xml);
3. Используйте селекторы jQuery для сопоставления с исходным идентификатором шаблона, что опять-таки позволит вам поместить свой js-код во внешний файл -
$('[id$=Label3]').html(xml);
Этот селектор jQuery выберет все элементы с атрибутом id , значение которого заканчивается на Label3 . Единственный потенциальный недостаток, который я мог видеть при таком подходе, заключается в том, что теоретически возможно иметь элемент управления Label с идентификатором Label3, скажем, мастер-страницу, а также на двух страницах содержимого. В этом примере использование вышеуказанного селектора jQuery будет соответствовать всем трем меткам, что может иметь нежелательные последствия.
EDIT:
Я подумал, что было бы полезно обратить ваше внимание на IDOverride . Пример страницы можно найти здесь
Это позволяет вам указать, какие элементы управления должны иметь свой искаженный идентификатор в выходной разметке HTML, переопределенной с идентификатором, как это указано в файле .aspx при визуализации страницы HTML. Я только кратко поиграл с одной мастер-страницей и панелями, но, похоже, она работает хорошо. Используя это, вы можете использовать оригинальные идентификаторы в ваших селекторах jQuery. Имейте в виду, однако, что результаты непредсказуемы, если бы вы имели элементы управления с одинаковыми идентификаторами на главной странице и страницах контента, которые объединены для отображения HTML для одной страницы.