我在<head/>
部分设置了一个没有runat =“server”的页面。我没有权限修改页面中的任何代码。
此页面包含我有权访问的用户控件。我可以从用户控件中向页面的head部分添加<meta/>
标记吗?它需要是服务器端,因此javascript解决方案将无法正常工作。
答案 0 :(得分:2)
您可以解析
中的文字(this.Page.Controls[0] as LiteralControl).Text
查看字符串<head>
的起始位置,并在其中插入所需的任何文本,从而将自己的代码注入页眉,而不用runat="server"
标记。
请注意,这是将代码放在最不可能的地方的非常hacky方式(否则<head>
元素会被标记为runat="server"
所以你可以通常访问它)。如果在以后将head元素更改为ASP.NET控件,这也会中断。它可能无法与母版页一起使用,您必须在控制树中向上查找最顶层的文字元素。
答案 1 :(得分:2)
一个选项是创建一个响应过滤器,然后在将输出发送给用户之前修改它。