收集一些偶然看到的小Tips,先列一些在这儿,慢慢补充。
设置Title :
this
.Header.Title
=
"
这是个Title测试
"
;
如果用了MasterPage可以这样用:
this
.Page.Title
=
SiteMap.CurrentNode.Title;
动态设置Style:
Style style
=
new
Style();
style.ForeColor
=
System.Drawing.Color.Navy;
style.BackColor
=
System.Drawing.Color.LightGray;

//
Add the style to the header for the body of the page
this
.Header.StyleSheet.CreateStyleRule(style,
null
,
"
body
"
);
动态加样式表:
HtmlLink link
=
new
HtmlLink();
link.Attributes.Add(
"
type
"
,
"
text/css
"
);
link.Attributes.Add(
"
rel
"
,
"
stylesheet
"
);
link.Attributes.Add(
"
href
"
,
"
~/newstyle.css
"
);
this
.Header.Controls.Add(link);
动态加meta tags :
//
Render: <meta name="keywords" content="Some words listed here" />
HtmlMeta meta
=
new
HtmlMeta();
meta.Name
=
"
keywords
"
;
meta.Content
=
"
Some words listed here
"
;
this
.Header.Controls.Add(meta);

//
Render: <meta name="robots" content="noindex" />
meta
=
new
HtmlMeta();
meta.Name
=
"
robots
"
;
meta.Content
=
"
noindex
"
;
this
.Header.Controls.Add(meta);

//
Render: <meta name="date" content="2006-03-25" scheme="YYYY-MM-DD" />
meta
=
new
HtmlMeta();
meta.Name
=
"
date
"
;
meta.Content
=
DateTime.Now.ToString(
"
yyyy-MM-dd
"
);
meta.Scheme
=
"
YYYY-MM-DD
"
;
this
.Header.Controls.Add(meta);
设置Title :

如果用了MasterPage可以这样用:

动态设置Style:






动态加样式表:





动态加meta tags :


















http://andyliu.cnblogs.com/archive/2006/03/28/360645.html
----------------------------------------------------------------------------------------------
ASP.NET 如何动态修改 Header 属性如添加 Meta 标签 keywords description
2008年03月24日 星期一 10:59
// 设置关键字和页面描述
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); } 浏览时输出的页面源码便会达到如下效果: <head><title> This is a title and meta test page. </title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta http-equiv="Content-Language" content="zh-cn" /><meta name="Description" content="Test the meta controls" /><<meta name="keywords" content="title,meta,test,page" /><link href="MasterPage.css" rel="stylesheet" type="text/css" /></head> 由于需要动态修改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 |