Page.Header.Controls.Add(控件)将控件添加到而不是

我正在尝试在运行时向head元素添加一些代码。 当我在页面中的用户控件的页面加载中执行此操作时:

HtmlGenericControl hc = new HtmlGenericControl(); hc.InnerHtml = GetParameter("HeaderCode"); Page.Header.Controls.Add(hc); 

控件最终在body标签中,作为第一个子元素。 例如:

 ...   Test ... 

根据我的理解,Page.Header应该是Head元素。 在aspx页面中,head具有runat="server"属性集。

知道如何将字符串注入元素吗?

头元素可能对内容的类型有限制。 当我们将javascript注入标题时,我们使用LiteralControl来完成。

例如:

 Page.Header.Controls.Add(New LiteralControl("")) 

尝试以下代码添加javascript,css或任何其他资源,如元标记。 我已经在我的网站上成功实现了这个代码:

 HtmlGenericControl my_js = new HtmlGenericControl("script"); my_js.Attributes["async"] = "async"; my_js.Attributes["type"] = "text/javascript"; my_js.Attributes["src"] = "http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"; Page.Header.Controls.Add(my_js); 

您需要使用命名空间:“使用System.Web.UI.HtmlControls”来使用HtmlGenericControl。