asp.net动态设置页面的title,meta标签1
来源:百度文库 编辑:神马文学网 时间:2024/04/28 20:38:23
设置关键字和页面描述
public void setMeta(string key,string des)
{
HtmlMeta
keywords = new HtmlMeta(), // keywords
description = new HtmlMeta(); // description
keywords.Name = "keywords";
keywords.Content = key; description.Name = "description";
description.Content = des; Page.Header.Controls.Add(keywords);
Page.Header.Controls.Add(description);
}在ASP.NET编程中,由于经常采用一个页面通过不同的参数来显示不同的内容,因此常常需要实现动态输出不同的html header, 比如title, keywords, descrtptions等。推荐的简单做法如下:protected void Page_Load(object sender, EventArgs e)
{
//Page title
Page.Title = "This is a title and meta test page."; //Encode/Content type
HtmlMeta encode = new HtmlMeta();
encode.HttpEquiv = "Content-Type";
encode.Content = "text/html; charset=utf-8";
Page.Header.Controls.Add(encode); //Language
HtmlMeta lang = new HtmlMeta();
lang.HttpEquiv = "Content-Language";
lang.Content = "zh-cn";
Page.Header.Controls.Add(lang); //Description
HtmlMeta desc = new HtmlMeta();
desc.Name = "Description";
desc.Content = "Test the meta controls";
Page.Header.Controls.Add(desc); //Keyword
HtmlMeta keywords = new HtmlMeta();
keywords.Name = "keywords";
keywords.Content = "title,meta,test,page";
Page.Header.Controls.Add(keywords); //Link/CSS
HtmlLink cssLink = new HtmlLink();
cssLink.Href = "MasterPage.css";
cssLink.Attributes.Add("rel", "stylesheet");
cssLink.Attributes.Add("type", "text/css");
Page.Header.Controls.Add(cssLink);
}浏览时输出的页面源码便会达到如下效果:
This is a title and meta test page.
<由于需要动态修改Header的Controls集合,因此如果放在用户自定义控件的Page_Onload事件中因为已经太迟而到处出现异常。对于希望用通用的控件实现这一功能的场合,建议包装一个普通的类,然后在MasterPager或者Page的Page_OnLoad中调用一下即可。 #region PAGE HEAD //Page meta information public void BackHeadContent(HtmlControl htmlCtrl)
{
Content(htmlCtrl, "网站后台管理系统", "~/CssStyle/SiteStyles.css");
} public void HeadContent(HtmlControl htmlCtrl, string strPageTitle)
{
Content(htmlCtrl, strPageTitle, "~/CssStyle/Styles.css");
}
private void Content(HtmlControl htmlCtrl, string strTitle,string cssFile)
{
//Title
HtmlTitle title = new HtmlTitle();
title.Text = strTitle;
htmlCtrl.Controls.Add(title); //Link/CSSfile:
HtmlLink cssLink = new HtmlLink();
cssLink.Href = cssFile;
cssLink.Attributes.Add("rel", "stylesheet");
cssLink.Attributes.Add("type", "text/css");
htmlCtrl.Controls.Add(cssLink); HtmlMeta
author = new HtmlMeta(), // author
copyright = new HtmlMeta(), // copyright
date = new HtmlMeta(), // date
keywords = new HtmlMeta(), // keywords
description = new HtmlMeta(), // description
robots = new HtmlMeta();// robots author.Name = "Author";
author.Content = "Insus.NET"; copyright.Name = "Copyright";
copyright.Content = "Copyright 2008 Insus.NET"; date.Name = "date";
date.Content = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString(); keywords.Name = "keywords";
keywords.Content = "Insus "; description.Name = "description"; robots.Name = "robots";
robots.Content = "all";
string[] InsusWords = "VISUAL STUDIO 2003,VISUAL STUDIO 2005,Microsoft SQL Server 2005,ASP.NET,ASP.NET 2.0,VB.NET,C#,AJAX,LINQ"
.Replace("\\r", string.Empty)
.Replace("\\n", string.Empty)
.Replace(">br />", string.Empty)
.Replace(",", string.Empty)
.Replace("\\'", string.Empty)
.Split(' '); foreach (string word in InsusWords)
keywords.Content += word + ",";
if (keywords.Content.ToString().Length > 1024)
{
keywords.Content = keywords.Content.Substring(0, keywords.Content.IndexOf(" ", 1024));
} description.Content = "This web site use asp.net2.0 and C# and Ajax technology";
if (description.Content.ToString().Length > 1024)
{
description.Content = description.Content.Substring(0, description.Content.IndexOf(" ", 1024));
} htmlCtrl.Controls.Add(author);
htmlCtrl.Controls.Add(copyright);
htmlCtrl.Controls.Add(date);
htmlCtrl.Controls.Add(keywords);
htmlCtrl.Controls.Add(description);
htmlCtrl.Controls.Add(robots);
} #endregion PAGE HEAD
public void setMeta(string key,string des)
{
HtmlMeta
keywords = new HtmlMeta(), // keywords
description = new HtmlMeta(); // description
keywords.Name = "keywords";
keywords.Content = key; description.Name = "description";
description.Content = des; Page.Header.Controls.Add(keywords);
Page.Header.Controls.Add(description);
}在ASP.NET编程中,由于经常采用一个页面通过不同的参数来显示不同的内容,因此常常需要实现动态输出不同的html header, 比如title, keywords, descrtptions等。推荐的简单做法如下:protected void Page_Load(object sender, EventArgs e)
{
//Page title
Page.Title = "This is a title and meta test page."; //Encode/Content type
HtmlMeta encode = new HtmlMeta();
encode.HttpEquiv = "Content-Type";
encode.Content = "text/html; charset=utf-8";
Page.Header.Controls.Add(encode); //Language
HtmlMeta lang = new HtmlMeta();
lang.HttpEquiv = "Content-Language";
lang.Content = "zh-cn";
Page.Header.Controls.Add(lang); //Description
HtmlMeta desc = new HtmlMeta();
desc.Name = "Description";
desc.Content = "Test the meta controls";
Page.Header.Controls.Add(desc); //Keyword
HtmlMeta keywords = new HtmlMeta();
keywords.Name = "keywords";
keywords.Content = "title,meta,test,page";
Page.Header.Controls.Add(keywords); //Link/CSS
HtmlLink cssLink = new HtmlLink();
cssLink.Href = "MasterPage.css";
cssLink.Attributes.Add("rel", "stylesheet");
cssLink.Attributes.Add("type", "text/css");
Page.Header.Controls.Add(cssLink);
}浏览时输出的页面源码便会达到如下效果:
This is a title and meta test page.
{
Content(htmlCtrl, "网站后台管理系统", "~/CssStyle/SiteStyles.css");
} public void HeadContent(HtmlControl htmlCtrl, string strPageTitle)
{
Content(htmlCtrl, strPageTitle, "~/CssStyle/Styles.css");
}
private void Content(HtmlControl htmlCtrl, string strTitle,string cssFile)
{
//Title
HtmlTitle title = new HtmlTitle();
title.Text = strTitle;
htmlCtrl.Controls.Add(title); //Link/CSSfile:
HtmlLink cssLink = new HtmlLink();
cssLink.Href = cssFile;
cssLink.Attributes.Add("rel", "stylesheet");
cssLink.Attributes.Add("type", "text/css");
htmlCtrl.Controls.Add(cssLink); HtmlMeta
author = new HtmlMeta(), // author
copyright = new HtmlMeta(), // copyright
date = new HtmlMeta(), // date
keywords = new HtmlMeta(), // keywords
description = new HtmlMeta(), // description
robots = new HtmlMeta();// robots author.Name = "Author";
author.Content = "Insus.NET"; copyright.Name = "Copyright";
copyright.Content = "Copyright 2008 Insus.NET"; date.Name = "date";
date.Content = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString(); keywords.Name = "keywords";
keywords.Content = "Insus "; description.Name = "description"; robots.Name = "robots";
robots.Content = "all";
string[] InsusWords = "VISUAL STUDIO 2003,VISUAL STUDIO 2005,Microsoft SQL Server 2005,ASP.NET,ASP.NET 2.0,VB.NET,C#,AJAX,LINQ"
.Replace("\\r", string.Empty)
.Replace("\\n", string.Empty)
.Replace(">br />", string.Empty)
.Replace(",", string.Empty)
.Replace("\\'", string.Empty)
.Split(' '); foreach (string word in InsusWords)
keywords.Content += word + ",";
if (keywords.Content.ToString().Length > 1024)
{
keywords.Content = keywords.Content.Substring(0, keywords.Content.IndexOf(" ", 1024));
} description.Content = "This web site use asp.net2.0 and C# and Ajax technology";
if (description.Content.ToString().Length > 1024)
{
description.Content = description.Content.Substring(0, description.Content.IndexOf(" ", 1024));
} htmlCtrl.Controls.Add(author);
htmlCtrl.Controls.Add(copyright);
htmlCtrl.Controls.Add(date);
htmlCtrl.Controls.Add(keywords);
htmlCtrl.Controls.Add(description);
htmlCtrl.Controls.Add(robots);
} #endregion PAGE HEAD
asp.net动态设置页面的title,meta标签1
页面的Title
asp.net页面的生存周期
ASP.NET的页面——ASP.NET页面的生命周期
.net 后台设置meta的属性(keywords,description)
META标签的常见用法
META标签的常见用法
asp.net页面缓存技术
ASP.NET页面——页面事件
ASP.NET十分有用的页面间传值方法
关于asp.net页面按钮失效的解决方法
领先技术-ASP.NET 页面的服务器端 by Dino Esposito
ASP.NET(C#)页面间传值的常见方法
Asp.NET 生成静态页面并分页的代码实现
Asp.NET 生成静态页面并分页的代码00
如何在ASP.NET环境下长期保存ASP.NET页面的session变量
ASP.NET页面间数据传递的方法讲解|.net(C# vb asp)
Meta标签详解,在网上转的
asp.net中怎样在页面间传值?
asp.net WebForm页面间传值方法
asp.net WebForm页面间传值方法
ASP.NET页面——视图状态
在ASP.NET中设置html文件的访问验证
在ASP.NET页面上添加AJAX控件后,不能调出窗口的解决办法: