var btn = document.getElementById('<%= btnButton.ClientID %>');
а ведь можно реально проще: $get("btnButton") и все! доступ есть
для работы этой фичи на странице (или мастере) должен лежать скрипт-менеджер с установленным свойством EnableScriptGlobalization="true"
вот пример моей страницы:
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5 <html xmlns="http://www.w3.org/1999/xhtml">
6 <head runat="server">
7 <title></title>
8 </head>
9 <body>
10 <form id="form1" runat="server">
11
12 <asp:ScriptManager ID="scriptManager" runat="server" EnablePartialRendering="true" EnableScriptGlobalization="true"></asp:ScriptManager>
13 <div id="div1">
14
15 <asp:Literal runat="server" ID="litText" Text="Изначальный текст"></asp:Literal>
16 <asp:Button runat="server" ID="btnButton" Text="Кнопка"/>
17 <asp:Panel runat="server" ID="aspPanel">
18 Привет!
19 </asp:Panel>
20
21 <br />
22
23 <input type="text" id="text" />
24 <input type="button" onclick="javascript:setText();" value="Установить текст" />
25
26 <script type="text/javascript" language="javascript">
27 function setText() {
28
29 // многие программисты бы написали:
30 var btn = document.getElementById('<%= btnButton.ClientID %>') ;
31
32 // а можно введь проще: $get("btnButton")
33
34 $get("btnButton").value = "Текст после нажатия";
35 $get("aspPanel").innerHTML = "Была нажата кнопка, а это ASP-панель :) доступ через $get('aspPanel')";
36 }
37 </script>
38 </div>
39 </form>
40 </body>
41 </html>
прошу читать: http://www.asp.net/AJAX/Documentation/Live/ClientReference/Global/default.aspx + на msdn про ASP AJAX