有时候,希望在代码中朝ASP.NET页面的Head部分写入内容或者进行修改.
但是,PAGE对象管辖的范围只能到FORM标记内,根本无法访问页面的HEAD部分
在GOOGLE上搜了一圈,也没找到答案.
昨晚突然想起在哪本书上看过说所有HTML标记皆可变为HTML控件,于是试着给Head加入了ID属性和RUNAT="SERVER",如下:
<Head Id="PageHeader" Runat="Server">
<Meta Name="keyword" content="business,company">
</head>

添加完毕后,发现在代码视图中并没有名为Pageheader的控件.
尝试用Page.FindControl("PageHeader")查找该控件,发现查找成功
于是,使用下面的代码就可以添加Head标记中的内容了
private void InitScript()
{
Control C
=this.FindControl("PageHeader");
if (c!=null)
{
Literal l
=new Literal();
l.Text
=BuilderJs();//BuilderJs返回一段JS代码
c.Controls.Add(l);
}

}

问题得到完美解决.
当然,你也可以给BODY加入ID和RUNAT=SERVER,也可以给TITLE标记加入ID和RUNAT=SERVER
这样,你就可以操纵这些标记了