在ASP.NET中操纵HTML HEAD标记的方法
有时候,希望在代码中朝ASP.NET页面的Head部分写入内容或者进行修改.
但是,PAGE对象管辖的范围只能到FORM标记内,根本无法访问页面的HEAD部分
在GOOGLE上搜了一圈,也没找到答案.
昨晚突然想起在哪本书上看过说所有HTML标记皆可变为HTML控件,于是试着给Head加入了ID属性和RUNAT="SERVER",如下:
添加完毕后,发现在代码视图中并没有名为Pageheader的控件.
尝试用Page.FindControl("PageHeader")查找该控件,发现查找成功
于是,使用下面的代码就可以添加Head标记中的内容了
问题得到完美解决.
当然,你也可以给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>
但是,PAGE对象管辖的范围只能到FORM标记内,根本无法访问页面的HEAD部分
在GOOGLE上搜了一圈,也没找到答案.
昨晚突然想起在哪本书上看过说所有HTML标记皆可变为HTML控件,于是试着给Head加入了ID属性和RUNAT="SERVER",如下:
<Head Id="PageHeader" Runat="Server">
<Meta Name="keyword" content="business,company">
</head>
<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);
}
}
{
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>