【摘 要】
有时候,希望在代码中朝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这样,你就可以操纵这些标记了 。
|