Я создаю собственный элемент управления сценарием в ASP.NET
Цель элемента управления - просто серверный вариант тега, используемого для загрузки файлов JavaScript.
Однако основная цель этого элемента управления - объединить несколько сценариев в один ответ, чтобы на стороне клиента они увидели что-то вроде
тег для каждого местоположения, поэтому все сценарии, зарегистрированные в расположении DocumentTop, будут объединены в один тег, за исключением местоположения «inline», все встроенные сценарии отображаются отдельно, если они существуют в разметке.
Я также создал httphandler, js.ashx, который выполняет фактическое объединение скриптов
Все работает нормально, за исключением местоположения «Голова», для двух местоположений документа я просто использую ClientScriptManager во время предварительного рендеринга, но для местоположения Голова я пробовал следующий код во время предварительного рендеринга
var scriptControl = new HtmlGenericControl("script");
scriptControl.Attributes["language"] = "javascript";
scriptControl.Attributes["type"] = "text/javascript";
scriptControl.Attributes["src"] = src;
Page.Header.Controls.Add(scriptControl);
и я получаю следующую ошибку:
Невозможно изменить коллекцию элементов управления на этапах DataBind, Init, Load, PreRender или Unload.
Кто-нибудь знает, как добавить элемент управления в заголовок страницы из пользовательского элемента управления?
Между прочим, элемент управления используется на странице содержимого, которая имеет два вложенных мастера, а также имеет зарегистрированный ScriptManager на корневом мастере.
Проект asp.net 3.5 проект веб-приложения