Quando utilizamos Master Pages e, consequentemente Content Pages, os IDs dos elementos passam a ser sempre diferentes dos IDs que definimos nos códigos. Isso acontece porque podemos ter mais de um ContentPlaceHolder com elementos possuindo o mesmo ID. Neste caso, para evitar conflitos, o sistema considerará também o nome dos ContentPlaceHolders no ID do elemento final. Vamos a um exemplo para deixar bem claro:
Imaginando uma Master Page com um ContentPlaceHolder chamado "cph_Principal" e dentro dele uma ContentPage com um elemento de ID 'Titulo'. O ID final deste componente será:
cphPrincipal_Titulo
Percebam que o código vai concatenar o ID do ContentPlaceHolder com o ID do elemento. Sendo assim, caso queira que seu Javascript manipule este componente, por exemplo escrevendo nele, deverá configurar o comando JS da seguinte forma:
document.getElementById("cphPrincipal_Titulo").innerHTML = "Contém Bits";
Agora o componente será corretamente capturado e terá o valor "Contém Bits".
Outras dicas de Asp.NET
Acessando ou modificando o label de uma Master Page
Adicionando itens a um Dropdownlist
Adicionando um atributo css dinamicamente
Alterando a cor padrão de um componente de texto (Textbox)
Alterando dinamicamente a cor do texto de um botão
Alterando o título da Master Page
Alterando o título de uma página filha
Associando uma classe CSS a um componente dinamicamente
Atualizando a página em tempo programado
Como chamar função C# a partir de Javascript
Convertendo DataSet em DataTable
Convertendo DataTable em DataSet
Criando e lendo Cookies
Criando um DataTable através de código C#
Criando, lendo e destruindo variáveis de sessão
Definindo um valor padrão em um Dropdownlist
Desabilitando o POST do Enter
Desabilitando o Postback de um botão
Diferença entre Session.RemoveAll, Session.Clear e Session.Abandon
Diferenças entre Label e Literal
Especificando Maxlength em campos multiline
Exceções mais comuns
Image Button passando valor para função C#
Impedindo a persistência de dados em DataTable através do comando Clear()
Impedindo dois cliques em um botão
Javascript capturando elementos na ContentPage
Lista de cores do método System.Drawing.Color
Ocultando coluna do DataGridView
Ocultando DIV na Master Page
Ocultando um elemento na Master Page
Percorrendo as linhas de um DataTable
Percorrendo um RadioButtonList
Retornando o dia da semana
Solicitando confirmação antes de um postback
Validando Radiobutton com Javascript
Validando tipos de arquivos para FileUpload
Validando um DropDownList através de Javascript
Verificando a existência de um Cookie
Verificando a existência de uma coluna em um DataSet
Você Sabia?
ENIAC

O ENIAC, primeiro computador valvulado do mundo, possuía 17.000 válvulas, 500.000 pontos de solda, 30 toneladas de peso e ocupava uma área de 180 metros quadrados. Clique aqui e conheça mais sobre a história dos computadores.
Mario e seu bigode

O personagem Mario só possui bigode porque quando ele foi criado, em 1981, a resolução de tela dos equipamentos disponíveis não permitia que fosse desenhada uma boca, então os desenvolvedores fizeram o grande bigode para contornar essa limitação tecnológica.
Galaxy Game

As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.
Tetris

O título Tetris detém o recorde de jogo mais adaptado de todos os tempos. No total foram mais de 60 plataformas diferentes que receberam alguma versão do quebra-cabeças criado por Alexey Pajitnov. Conheça mais sobre este incrível jogo clicando aqui.
Asteroids

O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.
