Sto creando un controllo di script personalizzato in ASP.NETAggiungere un controllo per l'intestazione della pagina in ASP.NET
Lo scopo del controllo è semplicemente una variante del server del tag, utilizzato per caricare i file javascript Lo scopo principale di questo controllo è tuttavia quello di combinare più script in un'unica risposta, in modo che sul lato client vedano qualcosa come il tag per ogni posizione, quindi tutti gli script registrati nella posizione DocumentTop verranno combinati in un singolo tag ad eccezione del posizione "in linea", tutti gli script inline sono resi individualmente laddove esistono nel markup Ho anche creato un httphandler, js.ashx, che fa la combinazione effettiva degli script
Tutto sta funzionando benissimo tranne per la posizione "Testa", per le due posizioni documento che è sufficiente utilizzare il ClientScriptManager durante PreRender ma per la posizione capo Ho provato il seguente codice in fase di pre rendere
var scriptControl = new HtmlGenericControl("script");
scriptControl.Attributes["language"] = "javascript";
scriptControl.Attributes["type"] = "text/javascript";
scriptControl.Attributes["src"] = src;
Page.Header.Controls.Add(scriptControl);
ed io ottenere il seguente errore: La raccolta di controlli non può essere modificata durante le fasi DataBind, Init, Load, PreRender o Unload.
qualcuno sa come aggiungere un controllo all'intestazione della pagina da un controllo personalizzato?
Per inciso, il controllo viene utilizzato su una pagina di contenuto con due master nidificati e uno ScriptManager registrato sul master principale. Il progetto è un progetto di applicazione asp.net 3.5 web
Hi Canavar adesso utilizzo del Page.ClientScript per registrare script nel corpo del documento, il problema sta cercando di registrare un tag script all'interno del tag
, a la mia conoscenza, this.Page.ClientScript.RegisterClientScriptInclude registra il js subito dopo il tag