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 }

 

转载于:https://www.cnblogs.com/jxcia_Lai/archive/2011/12/20/2294699.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SVN“验证位置时发生错误”的解决办法

验证位置时发生错误:“org.tigris.subversion.javahl.ClientException...... 验证位置时发生错误:“org.tigris.subversion.javahl.ClientException: RA layer request failed svn: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for h…

Day_03-函数和模块的使用

使用函数求阶乘 使用while循环的代码&#xff1a; m float(input(m ))n float(input(n ))mn m - nfm 1while m ! 1:fm * mm - 1fn 1while n ! 1:fn * nn - 1fmn 1while mn ! 1:fmn * mnmn - 1print(fm // fn // fmn)定义函数块&#xff1a; def C_N_M(parm):fmn 1for …

Visual Studio Team System 2008 Team Suite (90-day Trial)(转)

Visual Studio Team System 2008 Team Suite (90-day Trial) 相关介绍&#xff1a; http://www.microsoft.com/downloads/details.aspx?familyidD95598D7-AA6E-4F24-82E3-81570C5384CB&displaylangen 直接下载地址&#xff1a; http://download.microsoft.com/download/d/…

xml02 XML编程(CRUD)增删查改

XML解析技术概述 Demo2.java import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; public class Demo2 { public static void main(String args[])throws Exception { //1.创建工程 DocumentBuilderFac…

猜数字

写一个猜数字脚本&#xff0c;当用户输入的数字和预设数字&#xff08;随机生成一个小于100的数字&#xff09;一样时&#xff0c;直接退出&#xff0c;否则让用户一直输入&#xff0c;并且提示用户的数字比预设数字大或者小。#!/bin/bashmecho $RANDOMn1$[$m%100]while :do …

3DMax插件和它的3DXI接口

3DXI是3DMax提供给游戏开发者的一套数据读取接口&#xff0c;之前它被称作为IGame。最近一直在搞Ogre的插件相关的文档都很少我相信搞这个的人很多&#xff0c;但是有时间整理拿出来共享的资料实在是太少Ogre自带的maxExplorer只是xml格式&#xff0c;二进制数据的导出竟然未完…

ASP.NET Web Game 架构设计1--服务器基本结构

ASP.NET Web Game 架构设计1--服务器基本结构 1. 基本结构图 2. 系统组成与角色 整个系统大体上分为三个部分&#xff1a;1.网页客户端。2.IIS Web服务器。3.数据库及逻辑服务器。其中Web服务器不处理任何逻辑&#xff0c;它的作用只有两点&#xff1a;1.承载用户。…

人人网 Windows Phone 7 应用开发起步

目前&#xff0c;人人网在国内高校学生中的普及率非常高。前段时间&#xff0c;大概是11月下旬的样子&#xff0c;人人网发布了Windows Phone 7客户端的公测版。我想&#xff0c;Windows Phone 7本地化的优劣&#xff0c;直接关系到其将来在国内的市场份额。而诸如人人等针对学…

XP Sp2下双机通过无线网卡实现Internet共享

两台均有无线网卡、装有XP SP2系统的计算机如何实现共享Internet上网呢&#xff0c;请参考一下步骤&#xff1a; 1、打开两台计算机的无线网络连接属性&#xff0c;并切换至“无线网络配置”页签。2、点中右下角的高级按钮设置&#xff0c;选中最下面的“仅计算机到计算机” 和…

SimpleDateFormat解析的时候字符串过长问题

竟然不会报错&#xff1b; try {SimpleDateFormat dateFormatFrom new SimpleDateFormat("yyyyMMddHHmmss");String dateStr "2015080910400000";Date parse dateFormatFrom.parse(dateStr);System.out.println(parse);} catch (Exception e) {e.printS…

C#面向对象设计模式第九讲:Composite 组合模式(结构型模式)

&#xff08;根据MSDN Webcast相关课程整理&#xff09; 由俄罗斯套娃讲起。娃娃里又包含另一个娃娃&#xff0c;最后那个不包含任何娃娃。 组合模式&#xff0c;采用树型结构来实现普遍存在的对象容器&#xff0c;将本原一对多的复杂的关系&#xff0c;转换成一对一的简单关系…

https://enhancer.io

enhancer.io 转载于:https://juejin.im/post/5d4aad7bf265da03bf0f2d01

chmod命令详细用法

指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。 参数 : mode : 权限设定字串&#xff0c;格式如下…

是用Entity.Save(),还是用DAL.Save(Entity e)

是用Entity.Save()&#xff0c;还是用DAL.Save(Entity e) 自从上一次写关于ORM的文章已经是几个月前的事情了&#xff0c;在这里先贴一下文章的地址&#xff0c;如果大家感兴趣的话可以去看看。 1、支持差异数据保存的数据库实体类设计——处女作 2、支持差异数据保存的数据库实…

Docker for Windows

安装条件&#xff1a;必须是 Win10 Pro 或者 Enterprise version. 转载于:https://www.cnblogs.com/qijiage/p/9261258.html

【Android】 -- 使用UncaughtExceptionHandler捕捉全局异常

在综合统计SDK(欧盟统计局的朋友&#xff0c;百度统计)之后。有一个非常有利的功能测试&#xff1a;错误分析。此功能可以在程序的执行中遇到崩溃(runtimeException)反馈给server&#xff0c;帮助开发者提高产品。多功能适配器机。 然而在公司android开发中不集成这些SDK&#…

《火影忍者:究级风暴》渲染技术究极解析!

http://www.opengpu.org/forum.php?modviewthread&tid6609 与Takara Tomy公司的《火影忍者》系列游戏不同&#xff0c;初次登陆PS3平台的本作是由日本CyberConnect2制作的对战格斗游戏《火影忍者&#xff1a;终极英雄》系列的最新作。虽然游戏的开发商仍然是CyberConnect2…

文本框只能输入数字代码

1.文本框只能输入数字代码(小数点也不能输入)<input οnkeyup".replace(/\D/g,)" onafterpaste".replace(/\D/g,)"> 2.只能输入数字,能输小数点.<input οnkeyup"if(isNaN(value))execCommand(undo)" onafterpaste"if(isNaN(value…

说说大型高并发高负载网站的系统架构(ZT)

我在Cernet做过拨号接入平台的搭建&#xff0c;而后在Yahoo3721负载搜索引擎前端平台开发&#xff0c;又在猫扑处理过大型社区猫扑大杂烩的架构升级等工作&#xff0c;同时自己接触和开发过不少大中型网站的模块&#xff0c;因此在大型网站应对高负载和并发的解决方案上有一些积…

工程中新增Properties

如一开始工程中是没有Properties文件夹的&#xff01; 但工程目录文件夹下却有一个Properties&#xff1a; 现在要向这个Properties文件夹中添资源文件。操作步骤&#xff1a; [添加新项]->[资源文件] 再将Resource.resx文件拉到Properties DONE!!!