Когда мне нужно сделать это, я создаю свойство для элемента управления, которое будет вставлять теги, а затем веб-разработчик создает тег asp: literal, у которого нет видимости none и viewstate отключен, который имеет все необходимые им JS.
затем в коде страницы они вставляют текст литерала в свойства серверных элементов управления.
<asp:Literal ID="Literal_HtmlHeader" runat="server" Visible="false" EnableViewState="false">
<script></script>
<style></style>
</asp:Literal>
возможно, есть лучшие способы ... но это просто и эффективно для меня.
protected void Page_Load(object sender, EventArgs e)
{
if (!String.IsNullOrEmpty(this.Literal_HtmlHeader.Text.Trim()))
{
//inject css and js into header.
Page.Header.Controls.Add(new LiteralControl(this.Literal_HtmlHeader.Text));
// or add to your control cause it knows how to add the tags so there is no duplication.
ServerControl c = new ServerControl();
c.HtmlHeaderCode = this.Literal_HtmlHeader.Text.Trim();
}
}