C# 动态添加SEO 信息,不和静态页面重复和叠加

  动态添加SEO 信息,不和静态页面重复和叠加,就一个方法,用到了做个记录,以后直接用就OK了,需要的同学也可以直接拿去用。

 

 1         /// <summary>
2 /// 动态设置 SEO 信息
3 /// </summary>
4 /// <param name="title">标题</param>
5 /// <param name="key">关键字</param>
6 /// <param name="des">描述</param>
7 public void setMeta(string title, string key, string des)
8 {
9 if (!String.IsNullOrEmpty(title))
10 {
11 Page.Title += title;
12 }
13 if (!String.IsNullOrEmpty(key))
14 {
15 Boolean Edited = false;
16 for (int a_i = 0; a_i <= Page.Header.Controls.Count - 1; a_i++)
17 {
18 if (Page.Header.Controls[a_i].GetType() == typeof(HtmlMeta))
19 {
20 HtmlMeta SetMeta = (HtmlMeta)Page.Header.Controls[a_i];
21
22 if (SetMeta.Name.ToLower () == "keywords")
23 {
24 SetMeta.Content = SetMeta.Content.ToString() + " " + key;
25 Edited = true;
26 break;
27 }
28 }
29 }
30 if (!Edited)
31 {
32 HtmlMeta NewKeywords = new HtmlMeta();
33 NewKeywords.Name = "keywords";
34 NewKeywords.Content = key;
35 Page.Header.Controls.Add(NewKeywords);
36 }
37 }
38 if (!String.IsNullOrEmpty(des))
39 {
40 Boolean Edited = false;
41 for (int a_i = 0; a_i <= Page.Header.Controls.Count - 1; a_i++)
42 {
43 if (Page.Header.Controls[a_i].GetType() == typeof(HtmlMeta))
44 {
45 HtmlMeta SetMeta = (HtmlMeta)Page.Header.Controls[a_i];
46
47 if (SetMeta.Name.ToLower() == "description")
48 {
49 SetMeta.Content = SetMeta.Content.ToString() + " " + des;
50 Edited = true;
51 break;
52 }
53 }
54 }
55 if (!Edited)
56 {
57 HtmlMeta NewKeywords = new HtmlMeta();
58 NewKeywords.Name = "description";
59 NewKeywords.Content = des;
60 Page.Header.Controls.Add(NewKeywords);
61 }
62 }
63 }

 

posted @ 2011-12-20 14:55  奋斗中...  阅读(286)  评论(0编辑  收藏  举报