Я понимаю, что это старый вопрос, но есть гораздо более простой способ.
Попробуйте:
Page.Header.Controls.Add(
new LiteralControl(
"<script>alert('Literal Added to <Head>.');</script>"
)
);
Если вы хотите добавить скрипт с определенным индексом<head>
вы можете использовать
AddAt(index, new LiteralControl(...))
, где индекс 0 равен вершине <head>
Кроме того, joelmdev, упомянутый в комментарии, необходимо добавить runat="server"
в вашей головетег например <head id="head1" runat="server">