Estoy creando un control de secuencia de comandos personalizada en ASP.NETAgregue un control a la cabecera de la página en ASP.NET
El objetivo del control es simplemente una variante del servidor de la etiqueta, que se utiliza para cargar los archivos de javascript Sin embargo, el objetivo principal de este control es combinar varios scripts en una respuesta, por lo que en el lado del cliente se ve algo como para cada ubicación, por lo que todos los scripts registrados en la ubicación de DocumentTop se combinarán en una única etiqueta, a excepción del ubicación "en línea", todos los scripts en línea se representan individualmente donde existen en el marcado También he creado un httphandler, js.ashx, que hace la combinación real de los scripts
Todo está funcionando bien excepto por la ubicación "Cabeza", para las dos ubicaciones de los documentos i basta con utilizar el ClientScriptManager durante prerender pero por la ubicación Cabeza He probado el siguiente código durante la pre rendir
var scriptControl = new HtmlGenericControl("script");
scriptControl.Attributes["language"] = "javascript";
scriptControl.Attributes["type"] = "text/javascript";
scriptControl.Attributes["src"] = src;
Page.Header.Controls.Add(scriptControl);
y yo Obtenga el siguiente error: La recopilación de control no se puede modificar durante las fases DataBind, Init, Load, PreRender o Unload.
¿Alguien sabe cómo agregar un control al encabezado de página desde un control personalizado?
Dicho sea de paso, el control se utiliza en una página de contenido que tiene dos maestros anidados y también tiene un ScriptManager registrado en el maestro de la raíz. El proyecto es un proyecto de aplicación web asp.net 3.5
Hola Canavar Estoy con éxito utilizando el Page.ClientScript registrar secuencias de comandos en el cuerpo del documento, el problema está intentando registrar una etiqueta de script dentro de la etiqueta
, a mi conocimiento, this.Page.ClientScript.RegisterClientScriptInclude registra el js justo después de la etiqueta