提供生成静态页核心代码

Code
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Net;
using System.Text.RegularExpressions;

namespace Zxq.Common
{
    
//郑希强
    
//www.cnblogs.com/zhengxiqiang
    
//生成静态页操作
    
//2009.2
    public class ToHtml
    {
        
#region 读取模板
        
/// <summary>
        
/// 读取模板
        
/// </summary>
        
/// <param name="templateUrl">模板地址</param>
        
/// <param name="coding">编码</param>
        
/// <returns>模板内容</returns>
        public string ReadTemplate(string templateUrl, Encoding code)
        {
            
string tlPath = System.Web.HttpContext.Current.Server.MapPath(templateUrl);
            StreamReader sr 
= null;
            
string str = null;
            
//读取模板内容
            try
            {
                sr 
= new StreamReader(tlPath, code);
                str 
= sr.ReadToEnd();
            }
            
catch (Exception ex)
            {
                
throw ex;
            }
            
finally
            {
                sr.Close();
            }
            
return str;
        }
        
#endregion

        
#region 生成文件
        
/// <summary>
        
/// 生成文件
        
/// </summary>
        
/// <param name="str">文件内容</param>
        
/// <param name="htmlFile">文件存放地址</param>
        
/// <param name="fileName">文件名</param>
        
/// <param name="coding">编码</param>
        
/// <returns>文件名</returns>
        public bool CreateHtml(string str, string htmlFile, string fileName, Encoding code)
        {
            StreamWriter sw 
= null;
            
bool a = false;
            
//写入生成
            try
            {
                htmlFile 
= System.Web.HttpContext.Current.Server.MapPath(htmlFile);
                
this.FolderCreate(htmlFile);
                sw 
= new StreamWriter(htmlFile + fileName, false, code);
                sw.Write(str);
                sw.Flush();
                a 
= FileExists(htmlFile + fileName);
            }
            
catch (Exception ex)
            {
                
throw ex;
            }
            
finally
            {
                sw.Close();
            }
            
return a;
        }
        
#endregion

        
#region 判断文件是否存在
        
/// <summary>
        
/// 判断文件是否存在
        
/// </summary>
        
/// <param name="FilePath">文件路径</param>
        
/// <returns></returns>
        public bool FileExists(string FilePath)
        {
            
if (System.IO.File.Exists(FilePath))
                
return true;
            
else
                
return false;
        }
        
#endregion

        
#region 创建目录
        
/// <summary>
        
/// 创建目录
        
/// </summary>
        
/// <param name="Path"></param>
        
/// <returns></returns>
        public bool FolderCreate(string Path)
        {
            
// 判断目标目录是否存在如果不存在则新建之
            if (!FolderExists(Path))
                Directory.CreateDirectory(Path);
            
return FolderExists(Path);
        }
        
#endregion

        
#region 判断目录是否存在
        
/// <summary>
        
/// 判断目录是否存在
        
/// </summary>
        
/// <param name="Path">路径</param>
        
/// <returns></returns>
        public bool FolderExists(string Path)
        {
            
if (Directory.Exists(Path))
                
return true;
            
else
                
return false;
        }
        
#endregion

        
#region 静态列表页分页
        
/// <summary>
        
/// 静态列表页分页
        
/// </summary>
        
/// <param name="pageCount">总页数</param>
        
/// <param name="currentPage">当前页</param>
        
/// <param name="prefix">如:list</param>
        
/// <param name="suffix">如:.shtml</param>
        
/// <returns></returns>
        public string GetHtmlPager(int pageCount, int currentPage, string prefix, string suffix)
        {
            
int stepNum = 4;
            
int pageRoot = 1;
            pageCount 
= pageCount == 0 ? 1 : pageCount;
            currentPage 
= currentPage == 0 ? 1 : currentPage;
            StringBuilder sb 
= new StringBuilder();
            sb.Append(
"<ul>");
            sb.Append(
"<li class=pagerTitle>&nbsp;分页&nbsp;" + currentPage.ToString() + "/" + pageCount.ToString() + "&nbsp;</li>\r");
            
if (currentPage - stepNum < 2)
                pageRoot 
= 1;
            
else
                pageRoot 
= currentPage - stepNum;
            
int pageFoot = pageCount;
            
if (currentPage + stepNum >= pageCount)
                pageFoot 
= pageCount;
            
else
                pageFoot 
= currentPage + stepNum;
            
if (pageRoot == 1)
            {
                
if (currentPage > 1)
                {
                    sb.Append(
"<li>&nbsp;<a href='" + prefix + "1" + suffix + "' title='首页'>首页</a>&nbsp;</li>\r");
                    sb.Append(
"<li>&nbsp;<a href='" + prefix + Convert.ToString(currentPage - 1+ suffix + "' title='上页'>上页</a>&nbsp;</li>\r");
                }
            }
            
else
            {
                sb.Append(
"<li>&nbsp;<a href='" + prefix + "1" + suffix + "' title='首页'>首页</a>&nbsp;</li>");
                sb.Append(
"<li>&nbsp;<a href='" + prefix + Convert.ToString(currentPage - 1+ suffix + "' title='上页'>上页</a>&nbsp;</li>\r");
            }
            
for (int i = pageRoot; i <= pageFoot; i++)
            {
                
if (i == currentPage)
                {
                    sb.Append(
"<li class='current'>&nbsp;" + i.ToString() + "&nbsp;</li>\r");
                }
                
else
                {
                    sb.Append(
"<li>&nbsp;<a href='" + prefix + i.ToString() + suffix + "' title='第" + i.ToString() + "页'>" + i.ToString() + "</a>&nbsp;</li>\r");
                }
                
if (i == pageCount)
                    
break;
            }
            
if (pageFoot == pageCount)
            {
                
if (pageCount > currentPage)
                {
                    sb.Append(
"<li>&nbsp;<a href='" + prefix + Convert.ToString(currentPage + 1+ suffix + "' title='下页'>下页</a>&nbsp;</li>\r");
                    sb.Append(
"<li>&nbsp;<a href='" + prefix + pageCount.ToString() + suffix + "' title='尾页'>尾页</a>&nbsp;</li>\r");
                }
            }
            
else
            {
                sb.Append(
"<li>&nbsp;<a href='" + prefix + Convert.ToString(currentPage + 1+ suffix + "' title='下页'>下页</a>&nbsp;</li>\r");
                sb.Append(
"<li>&nbsp;<a href='" + prefix + pageCount.ToString() + suffix + "' title='尾页'>尾页</a>&nbsp;</li>\r");
            }
            sb.Append(
"</ul>");
            
return sb.ToString();
        }
        
#endregion

        
#region 压缩Html文件
        
/// <summary>
        
/// 压缩Html文件
        
/// </summary>
        
/// <param name="html">Html文件</param>
        
/// <returns></returns>
        public string ZipHtml(string Html)
        {
            Html 
= Regex.Replace(Html, @">\s+?<""><");//去除Html中的空白字符.
            Html = Regex.Replace(Html, @"\r\n\s*""");
            Html 
= Regex.Replace(Html, @"<body([\s|\S]*?)>([\s|\S]*?)</body>"@"<body$1>$2</body>", RegexOptions.IgnoreCase);
            
return Html;
        }
        
#endregion

        
#region 从HTML中获取文本,保留br,p,img
        
/// <summary>
        
/// 从HTML中获取文本,保留br,p,img
        
/// </summary>
        
/// <param name="Html">文本内容</param>
        
/// <returns></returns>
        public string GetTextFromHtml(string Html)
        {
            Regex regEx 
= new Regex(@"</?(?!br|/?p|img)[^>]*>", RegexOptions.IgnoreCase);
            
return regEx.Replace(Html, "");
        }
        
#endregion
    }
}
posted @ 2009-07-04 10:27 郑希强 阅读(5729) 评论(60) 编辑 收藏

 回复 引用   
#1楼 2009-07-04 11:03 毁于随
Mark
 回复 引用   
#2楼 2009-07-04 11:04 aaaaaaaaa[未注册用户]
额~~~

内容和标题好像不符合。。

 回复 引用   
#3楼 2009-07-04 11:36 Dreampufs[未注册用户]
压缩html还需要多一点判断...比如<pre标记..
 回复 引用 查看   
#4楼 2009-07-04 11:47 Jeffrey Zhao      
谁说生成静态页能够利于搜索引擎啊,懂一点技术的就知道这是很明显的误导啊。
 回复 引用 查看   
#5楼 2009-07-04 12:01 秋叶抚风      
给个例子啊
 回复 引用 查看   
#6楼 2009-07-04 12:08 二德子      
公司系统一直用生成html页面,使用时间长了就会发现问题多的不是就那几点。


 回复 引用 查看   
#7楼 2009-07-04 12:14 沉默杨仔      
楼主所列的只是涉及到怎么生成一个静态实体文件以及分页代码
前几天做了一个生成静态页的CMS,由于初级接触生成静态页,遇到诸多问题.一直不得其解,最后感觉实在很糟,改伪静态了.问题如下:
1.生成文件不难.重要的模板内的标签管理.. dedecms无奈是PHP,一直没太搞懂里面的标签原理(例如在模板标签内定义列表数.列表方式)
2.一触而动全身(比如添加分类.那么内容页必须全部更新才能同步).感觉没有URL重写来得爽. //当然这点似乎所有以静态页发布的CMS都必须这样..
3.关于"有利于搜索引擎"这点来说.这跟服务器响应速度是有很大关系的.比如请求同一页面.如果response end时间过长.这页被引擎索引的机率确实会相对小.如果用静态页.相对来说.晌应时间要稍短..所以...这个"有利于"是相对的.

<<<楼主如果有兴趣的话写写第一问里面的内容!!继续关注你>>>

 回复 引用 查看   
#8楼[楼主] 2009-07-04 12:15 郑希强      
--引用--------------------------------------------------
Jeffrey Zhao: 谁说生成静态页能够利于搜索引擎啊,懂一点技术的就知道这是很明显的误导啊。
--------------------------------------------------------

静态页是容易被搜索引擎收录的啊!学习下SEO这方面知识都能知道的啊

 回复 引用 查看   
#9楼 2009-07-04 12:16 kiler      
@二德子
新浪搜狐都是用的静态页技术也没啥问题,网站要是做大了,静态页技术是必须的。

 回复 引用   
#10楼 2009-07-04 12:18 john.geng[未注册用户]
想问下博主像Shopping Cart这种需要Session或Cookies的如何处理呢?
 回复 引用 查看   
#11楼 2009-07-04 13:09 Ray Wu      
--引用--------------------------------------------------
郑希强: --引用--------------------------------------------------
Jeffrey Zhao: 谁说生成静态页能够利于搜索引擎啊,懂一点技术的就知道这是很明显的误导啊。
--------------------------------------------------------

静态页是容易被搜索引擎收录的啊!学习下SEO这方面知识都能知道的啊
--------------------------------------------------------
呵呵,那都是相当旧的观点了,静态页从本质上讲跟动态的并没有区别,尤其是对搜索引擎来说

 回复 引用 查看   
#12楼 2009-07-04 13:43 Sam Lin      
是静态URL是有利于SEO的,但权重很少。
要做好SEO,关键是Meta信息,标题h1,标题title,和关键字分布频率

 回复 引用 查看   
#13楼 2009-07-04 14:09 Dove.Net      
--引用--------------------------------------------------
Ray Wu: --引用--------------------------------------------------
郑希强: --引用--------------------------------------------------
Jeffrey Zhao: 谁说生成静态页能够利于搜索引擎啊,懂一点技术的就知道这是很明显的误导啊。
--------------------------------------------------------

静态页是容易被搜索引擎收录的啊!学习下SEO这方面知识都能知道的啊
--------------------------------------------------------
呵呵,那都是相当旧的观点了,静态页从本质上讲跟动态的并没有区别,尤其是对搜索引擎来说

--------------------------------------------------------
确实,老赵说的也没错,动态、静态现在本质上已经没区别了,只是相对而言静态比动态请求响应要稍快,无论是对用户还是SE来说友好度要高一些,所以还是有一定好处,但只要动态请求响应不是太慢,实际所所占权重确实较小。

 回复 引用 查看   
#14楼[楼主] 2009-07-04 14:12 郑希强      
@Sam Lin
要权重高的话:最好是原创内容和Pr值高的外链
感觉搜索引擎对meta 的关键词和内容 都忽略了

 回复 引用 查看   
#15楼 2009-07-04 14:36 温景良(Jason)      
u
p

 回复 引用   
#16楼 2009-07-04 15:11 xixixi[未注册用户]
这年头还做生成静态,汗。
page.aspx?id=888 只是参数不利于搜索。
现在都是 url 重写就OK了。
如: page/888.htm

生成静态,简直就是硬盘杀手。
10条记录就是10万个文件?
维护上面呢?网站界面更新呢?

 回复 引用 查看   
#17楼 2009-07-04 15:18 Freedom~Jun      
@xixixi
“10条记录就是10万个文件?”
为什么这样说呢?

 回复 引用 查看   
#18楼 2009-07-04 15:45 缘易姿姿      
@郑希强
--引用--------------------------------------------------
Jeffrey Zhao: 谁说生成静态页能够利于搜索引擎啊,懂一点技术的就知道这是很明显的误导啊。
--------------------------------------------------------

静态页是容易被搜索引擎收录的啊!学习下SEO这方面知识都能知道的啊

-------------------
老兄,对于搜索引擎来说,不管你是动态还是静态服务器返回给蜘蛛的结果都是一样的!
还是搞技术的,别说这样的话吧,你还嫩得很!

 回复 引用 查看   
#19楼[楼主] 2009-07-04 15:51 郑希强      
@缘易姿姿
我一直都是以为静态页容易收录!错了可以改了喽

 回复 引用 查看   
#20楼 2009-07-04 16:11 无为而为      
引用Jeffrey Zhao:谁说生成静态页能够利于搜索引擎啊,懂一点技术的就知道这是很明显的误导啊。

懂点技术的未必就知道,标榜正义未必就是正确的。稍微有点SEO经验的都晓得,有些站生成静态页的好处比伪静态确实要好,比如小说站。
其实url的优化只是一点而已,静态,伪静态的取舍要看实际情况,访问量大,变化较小的页面生成静态,内页数据更新频率高的用伪静态。看老赵,还有 缘易姿姿 这种苛刻的语气很不舒服,顶楼主。

 回复 引用 查看   
#21楼 2009-07-04 16:30 钧梓昊逑      
楼上说的是优化网站,不是优化搜索

注意问题的焦点

 回复 引用 查看   
#22楼 2009-07-04 16:31 斯克迪亚      
引用毁于随:--引用--------------------------------------------------

Jeffrey Zhao: 谁说生成静态页能够利于搜索引擎啊,懂一点技术的就知道这是很明显的误导啊。

--------------------------------------------------------



静态页是容易被搜索引擎收录的啊!学习下SEO这方面知识都能知道的啊

那是上个世纪的事了,本世纪如果搜索引擎不能完美支持动态网站,那就可以直接下线了。

 回复 引用 查看   
#23楼 2009-07-04 17:08 AK47      
不错!
 回复 引用 查看   
#24楼 2009-07-04 17:17 Showker      
晕了,还没自己做生成静态页面。不过应该还是有好处的吧,关键还是看网站内容,内容为王嘛。
上海吉祥航空订票电话
 回复 引用 查看   
#26楼 2009-07-04 18:45 不若相忘于江湖      
楼主精神可嘉。


 回复 引用   
#27楼 2009-07-04 21:32 john55[未注册用户]
看代码好熟悉,看自己的ToHtml发现居然很多相同的
 回复 引用 查看   
#28楼 2009-07-04 22:10 Jeffrey Zhao      
看来这个问题有混淆的人还是不少,我完整地写一篇文章吧。
 回复 引用 查看   
#29楼 2009-07-04 22:14 私家侦探      
引用斯克迪亚:<FIELDSET class=comment_quote><LEGEND>引用</LEGEND>毁于随:--引用--------------------------------------------------

Jeffrey Zhao: 谁说生成静态页能够利于搜索引擎啊,懂一点技术的就知道这是很明显的误导啊。

--------------------------------------------------------



静态页是容易被搜索引擎收录的啊!学习下SEO这方面知识都能知道的啊</FIELDSET>
那是上个世纪的事了,本世纪如果搜索引擎不能完美支持动态网站,那就可以直接下线了。

--------
不可能完美。动态页面再牛都不如静态页面对搜索引擎友好

 回复 引用 查看   
#30楼 2009-07-04 22:16 DiggingDeeply      
蜘蛛分得清动静吗?
 回复 引用 查看   
#31楼 2009-07-04 22:31 私家侦探      
引用DiggingDeeply:蜘蛛分得清动静吗?

是分不清,但是动态页面乱糟糟的参数,蜘蛛有点讨厌。

 回复 引用 查看   
#32楼 2009-07-04 22:41 Jeffrey Zhao      
@私家侦探
看来还是需要解释一下不可了,你把两个不同的概念混淆起来了。

 回复 引用 查看   
#33楼 2009-07-04 22:55 私家侦探      
对于搜索引擎收录,静态页面更容易被收录吧。第一静态页面返回快,蜘蛛喜欢。第二静态页面url中的关键字容易做得好(特别是英文站),蜘蛛也喜欢。
虽然现在动态页面可以做伪url,但毕竟还不如纯静态强悍吧,就返回速度和url中的关键字来说

 回复 引用 查看   
#34楼[楼主] 2009-07-04 22:55 郑希强      
 回复 引用 查看   
#35楼 2009-07-04 22:57 私家侦探      
当然是不是被收录还有其它很多原因,比如内容以及内容中的关键字安排。但是我们现在谈的是url关键字优化和返回速度。
 回复 引用 查看   
#36楼 2009-07-04 22:58 Jeffrey Zhao      
@郑希强
你觉得你现在做的,和这些文章说的是一回事情吗?
你把两个概念混淆了啊。

 回复 引用 查看   
#37楼 2009-07-04 23:51 dewin      
老赵,你直接写篇文章阐述这两个概念。光说混淆,没人能接受,要给人理解,心服。
 回复 引用   
#39楼 2009-07-05 02:26 xhtml[未注册用户]
传说:"动态网址不能被抓取。"
事实:我们可以抓取动态网址并且解释不同的参数。如果您为了让网址看起来像是静态的,而隐藏那些可以给谷歌提供有价值信息的参数,这样做反而会给该网址的抓取和排名带来麻烦。我们的建议是:请不要将一个动态网址改换格式以使其看起来是静态的。尽可能地使用静态网址来显示静态内容是可取的,但在您决定展示动态内容的情况下,请不要将参数隐藏起来从而使他们看起来像是静态的,因为这样做会删除掉那些有助于我们分析网址的有用信息。

传说:"动态网址的参数要少于3个。"
事实:对于参数的数量是没有限制的。但是,一个好的经验是不要让您的网址太长(这个适用于所有的网址,不论是静态的还是动态的)。您可以去掉一些对于 Googlebot 来说不重要的参数,给用户一个好看一点的动态网址。如果您不能确定可以去掉哪些参数,我们建议您将动态网址中所有的参数都提供给我们,我们的系统会弄明白哪一些是不重要的。将参数隐藏起来会影响我们正确地分析您的网址,我们也就不能识别这些参数,一些重要信息可能也因此丢失了。

 回复 引用 查看   
#40楼 2009-07-05 07:52 Keep Walking      
我最近的测试中静态链接要明显好于动态页面,即使gg官方说动态静态无区别,奉劝各位做互联网的还是要静态,至少看起来像静态,在接触的一些专职SEOER中,也是强烈建议静态化
 回复 引用 查看   
#41楼 2009-07-05 09:09 淘者天下2      
楼上说的是优化网站,不是优化搜索

注意问题的焦点

 回复 引用 查看   
#42楼 2009-07-05 15:46 Jeffrey Zhao      
@Keep Walking
SEO是一个实践性的活,我见过太多扯蛋的专业SEOer了。
是否专业,唯一考察的结果就是SEO效果。
顺便发布一个广告:现在想找个SEOer对我的blog进行SEO优化……自然不会是无偿的。

 回复 引用 查看   
#43楼 2009-07-05 16:45 Keep Walking      
@Jeffrey Zhao
呵呵,也许吧,it168和赶集都花大笔钱养些废物?

我的站点动态页面收录和排名明显比静态页面要低很多,你可以长期观察观察


 回复 引用 查看   
#44楼 2009-07-05 16:48 Jeffrey Zhao      
@Keep Walking
你咋就对号入座了?我又没有说谁,我也不认识赶集阿it168什么的,我只是说我见过很多扯蛋的SEOer。
至于你的站点是什么?影响SEO排名的因素有很多,你为什么说是静态地址和动态地址的原因呢?

 回复 引用   
#45楼 2009-07-05 16:49 seoer[未注册用户]

Jeffrey Zhao
别怪别人扯蛋,只怪自己无知

 回复 引用 查看   
#46楼 2009-07-05 18:12 Jeffrey Zhao      
@seoer
说不定seoer的名声就是被你这样的seoer搞臭的,嘿嘿。
具体表现为:就只是讲一些人人明白的大道理,但是没有办法通过自己的成果展现出来。
概括起来就是“光会耍嘴皮子”。

 回复 引用 查看   
#47楼 2009-07-06 09:47 游侠_1      
Keep Walking

it168的技术怎么就成废物呢,
您可得好好说说

 回复 引用   
#48楼 2009-07-06 11:42 Big Yello Bee[未注册用户]
静态页相对于动态页是没有什么大的优势的,请看这篇google的官方说法:
http://googlechinablog.com/2008/10/blog-post_20.html

 回复 引用   
#49楼 2009-07-07 09:25 李华顺[未注册用户]
引用郑希强:--引用--------------------------------------------------
<br/>Jeffrey Zhao: 谁说生成静态页能够利于搜索引擎啊,懂一点技术的就知道这是很明显的误导啊。
<br/>--------------------------------------------------------
<br/>
<br/>静态页是容易被搜索引擎收录的啊!学习下SEO这方面知识都能知道的啊

扯淡,谁说的静态页是容易被搜索引擎收录的啊!


 回复 引用   
#50楼 2009-07-07 09:27 李华顺[未注册用户]
引用Sam Lin:是静态URL是有利于SEO的,但权重很少。
<br/>要做好SEO,关键是Meta信息,标题h1,标题title,和关键字分布频率

现在Meta信息也不是很重要了

 回复 引用   
#51楼 2009-07-07 09:39 李华顺[未注册用户]
说实话,这种生成静态页面的方式很过时!这种只能满足整页面缓存,如果我只是一小部分数据变动又得重新生成页面,如 访问量/评论数 相关文章等信息(别说用iframe看起来不爽)。这样一来静态页面实际上没有多大意义了,根本无法满足实际的需求。另外维护特别不方便,某天需要更改url规则你怎么办?些url重写规则?
建议楼主看一下这篇Ruby on Rails的缓存介绍

http://guides.rubyonrails.org/caching_with_rails.html

 回复 引用 查看   
#52楼 2009-07-08 09:21 Flying Fox      
引用李华顺:
说实话,这种生成静态页面的方式很过时!这种只能满足整页面缓存,如果我只是一小部分数据变动又得重新生成页面,如 访问量/评论数 相关文章等信息(别说用iframe看起来不爽)。这样一来静态页面实际上没有多大意义了,根本无法满足实际的需求。另外维护特别不方便,某天需要更改url规则你怎么办?些url重写规则?
建议楼主看一下这篇Ruby on Rails的缓存介绍

http://guides.rubyonrails.org/caching_with_rails.html


生成是必要的。不管是否利于搜索体验。

但是,如果对于小站,生成静态页面和使用带问号的动态页面的收录效果相差是非常大的。

况且,生成静态的页面也许对磁盘 IO 是有影响,但是对于大站什么来说,这是最基本的。特别是页面里很多地方需要读取数据库的情况下。

呵呵,还有你说的几个问题,我觉得你并没有做大站的经验。

 回复 引用 查看   
#53楼 2009-09-25 09:26 @萧浪      
可以采用伪静态与页面缓存
 回复 引用   
#54楼 2009-10-31 18:38 过客1[未注册用户]
博主:
你好! 我是初学.net的 刚才看了你的“生成静态页核心代码 ” 有点迷迷糊糊的 你能不能把完整的实例发下给我啊? 我邮箱是zhu871209@163.com 非常感谢!

 回复 引用   
#55楼 2009-11-24 13:29 娃娃脸[未注册用户]
楼主可以提供完整的示例吗,多谢了~
 回复 引用   
#56楼 2009-11-24 13:29 娃娃脸[未注册用户]
楼主可以提供完整的示例代码吗,急用,谢谢了,我邮箱是hushenhaowoaini@hotmail.com
 回复 引用 查看   
#57楼 2010-11-10 16:47 backhose      
等我看到的时候,已经到了2010年了
 回复 引用 查看   
#58楼 2010-11-11 16:06 必有方      
强哥,能把完整示例代码给发一份吗?谢谢了,研究好几天了,没结果,受不了了。

我的邮箱:598779160@qq.com

 回复 引用 查看   
#59楼 2011-05-05 18:13 jetlu      
我是初学者,楼主能不能提供源代码呀!谢谢了!我的邮箱JetLu0089@126.com
 回复 引用 查看   
#60楼 2011-10-26 20:57 等待冰柠檬      
不错的文章 收藏了!