¿Cómo se puede leer el contenido literal de un marcador de posición?
-
20-09-2019 - |
Pregunta
Tengo algún código en un control de usuario que se ve así:
<asp:PlaceHolder id="ph1" runat="server">
<script type="text/javascript">
jQuery(function() {
doSomethingAwesome();
});
</script>
</asp:PlaceHolder>
Quiero obtener el contenido del control del marcador de posición. Estoy tratando de obtenerlo en el Onperender de la página en este control. Hubiera esperado que el contenido del marcador de posición fuera un solo control literal, pero la colección de controles está vacía.
¿Cómo puedo obtener el contenido del control del marcador de posición en el lado del servidor?
Solución
El contenido literal no existe en el servidor porque no está en un control de servidor.
Si necesita hacer que el script sea visible en el servidor, deberá colocarlo explícitamente dentro de un control de servidor con el conjunto de propiedades "runat = servidor".
Otros consejos
Para obtener contenido en el lado del cliente, puede hacer
$('#ph1').html()
Si se usa contenedores de nombres que probablemente se deba a los controles de usuario
$('#<%=ph1.ClientID%>').html()