Как говорит Плеун, мастер-страница изменит HTML-идентификаторы элементов управления, отображаемые в браузере. Есть несколько способов обойти это. Если вы используете asp.net 4, вы можете указать идентификаторы клиента следующим образом:
<asp:Label Text="text" runat="server" ID="SomeID" ClientIDMode="Static" />
Это будет поддерживать идентификатор, отображаемый в браузере.
Если вы пользуетесь предыдущей версией asp.net, то я склонен использовать JQuery, чтобы получить элементы управления, например:
$("[id$='SomeId']")
Значение $=
заканчивается на.
Вы также можете использовать разметку сервера, смешанную с вашим кодом JavaScript, например,
var control = document.getElementById("<% =SomeId.ClientId %>");
asp.net выдаст любой идентификатор клиентской стороны, который он назначит элементу управления с идентификатором сервера SomeId