新增自制标签成功
恭喜网站新增加了标签链接的功能块(见网站的右栏最下边),本来要去网上的Tag Cloud生成一个,谁知道中文显示乱码,而且抓取的标签又比较少,我之前在数据库的表中新建了标签字段,就是为了搜索引擎优化的,呵呵
2011年1月12日,恭喜网站新增加了标签链接的功能块(见网站的右栏最下边),本来要去网上的Tag Cloud生成一个,谁知道中文显示乱码,而且抓取的标签又比较少,我之前在数据库的表中新建了标签字段,就是为了搜索引擎优化的,呵呵,我就大概介绍制作的步骤吧:
一:先从数据库中读取标签列里的所有字段,然后再过滤,返回一数组;
二:再根据这一数组用foreach循环生成标签的链接字符列表,放在一div中,在显示就行了;
三:但是我是让标签以htm的文件显示在页面中,就是生成一静态页,不然动态页总读取数据库,比较耗性能;我就添加了生成静态页的功能,还得去网上查资料啊,google还是我老师;
四:先弄输出的功能,代码如下:
Response.Clear();
Response.Buffer = true;
//filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc .xls .txt .htm
Response.AppendHeader("Content-Disposition", "attachment;filename=filename");
Response.ContentEncoding = System.Text.Encoding.Default;
//Response.ContentType指定文件类型 可以为application/ms-excel,application/ms-word,application/ms-txt,application/ms-html,或其他
浏览器可直接支持文档
Response.ContentType = "application/ms-html";
//tag's string是要输出的字符串
Response.Write("tag's string");
Response.Flush();
Response.End();
this.EnableViewState = false;
这样就可以输出htm页面了,先在本地查看是否正常然后再上传到服务器端进行更新,这样比较保险一点;还有一种情况就是直接生成静态页面然后覆盖到服务器上,这就要用到绝对路径和写字符流了;
五:
string filePath = HttpContext.Current.Server.MapPath("~/filePath");//获取文件夹的路径
using (System.IO.StreamWriter sw = new System.IO.StreamWriter(filePath, false, System.Text.Encoding.Default))
{
sw.Write(str);//str是要输出的标签字符串
result = true;
}
用using可自动关闭字符流;
才发现为什么Tag Cloud网站抓取不到我的标签,我弄的标签没加上链接,所以没抓取到,真悲剧啊,不过自己还是做了标签的功能,就用着吧