Recientemente me he encontrado con un problemilla trabajando con controles web de Telerik al intentar acceder a ellos desde funciones javascript.
Al intentar a acceder a un control con el siguiente codigo dentro del head:
var label = document.getElementById(“<%= Label1.ClientID%>”);
al cargar la pagina me devolvia el siguiente error:
The Controls collection cannot be modified because the control contains code blocks (i.e. <% … %>).
Una solucion la encontre aqui La solucion consiste basicamente en sustituir <%=…%> por <#…%>. Una cuestion es que con este metodo si en el head tienes puesto runat=”server” no funciona. En un principio lo quite por que no me era necesario, ya que era un problema que tenia que solucionar rapidamente y no tenia mucho tiempo para investigar mas.
Pero claro, cuando en vez de arreglar un error lo ocultas pues suele pasar que este acaba apareciendo tiempo despues. La semana pasada utilizando un componente .net que encampsula unas librerias javascript ocurrio la desgracia. O ponia runat=”server” o el componente no funcionaba. Y si lo ponia no funcionaba mi codigo. Asi que investigando un poco mas (leyendome todos los comentarios del link que he puesto antes) encontre otra solucion: mover mi codigo de script de la parte Head a la parte Form. Por lo que he leido esto funciona casi siempre (alguien comenta que en los controles de usuario no le funciona). Espero tener algun rato para echarle un vistazo dentro de poco.
