我正在尝试在运行时向head元素添加一些代码。当我在页面中的用户控件的页面加载中执行此操作时:
HtmlGenericControl hc = new HtmlGenericControl();
hc.InnerHtml = GetParameter("HeaderCode");
Page.Header.Controls.Add(hc);
控件最终在body标签中,作为第一个子元素。例如:
...
</head>
<body>
<span><meta>Test</meta></span>
...
根据我的理解,Page.Header应该是Head元素。在aspx页面中,头部设置了runat="server"
属性。
知道如何将字符串注入<head>
元素吗?
答案 0 :(得分:8)
头元素可能对内容类型有限制。当我们将javascript注入标题时,我们使用LiteralControl进行。
例如:
Page.Header.Controls.Add(New LiteralControl("<script language='javascript' type='text/javascript'>alert('test');</script>"))
答案 1 :(得分:0)
尝试下面的代码来添加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。