Generated Image

在ASP.NET中操纵HTML HEAD标记的方法

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



-----------------

还有一篇
更明了

<%@ Page Language="c#" Explicit="true" Strict="true" %>
<script language="c#" runat="Server">
    private 
void Page_Load(object sender, EventArgs e)
    
{
        
//Put user code to initialize the page here

        litTitle.Text = "This is my page title.";
    }

</script>
<html>
    
<head>
        
<title><asp:Literal id="litTitle" runat="server"></asp:Literal></title>
    
</head>
    
<body>
        
<form id="Form1" method="post" runat="server">
        
</form>
    
</body>
</html>
posted @ 2007-04-16 01:16  桂圆  阅读(369)  评论(0编辑  收藏  举报