生成静态html的问题

icanjj 2009-02-19 10:51:46
我的代码如下:

// 生成静态页
private void GenerateHTML(string titleid)
{
string Bbs_TitleBody = "Bbs_TitleBody_" + titleid.ToString();//缓存名,以分类Id为参数
Cache.Remove(Bbs_TitleBody);
DataTable dt = BbsCache.Bbs_GetTitleById(int.Parse(titleid));
// Response.Write(dt.Rows[0]["title"].ToString());
string fileyyyymmdd = dt.Rows[0]["fileyyyymmdd"].ToString();
string filename = fileyyyymmdd + titleid + ".html";
string caid = dt.Rows[0]["caid"].ToString();
string caname = ddlXL.SelectedItem.Text;
string title = dt.Rows[0]["title"].ToString();
string content = dt.Rows[0]["body"].ToString();
string time = DateTime.Parse(dt.Rows[0]["createdate"].ToString()).ToShortDateString();
string username = dt.Rows[0]["username"].ToString();
string sourceurl = "/forum/Show.aspx?TitleId=" + titleid + "&CaId=" + caid;

#region 生成静态页
//创建当前日期的文件夹开始
string dir = Server.MapPath("~/" + "ITNews/" + fileyyyymmdd);//用来生成文件夹
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
//创建当前日期的文件夹结束
try
{
StringBuilder strhtml = new StringBuilder();

//创建StreamReader对象
using (StreamReader sr = new StreamReader(Server.MapPath("template.htm"), System.Text.Encoding.Default))
{
String oneline;
//读取指定的HTML文件模板
while ((oneline = sr.ReadLine()) != null)
{
strhtml.Append(oneline);
}
sr.Close();
}
//这几个是用来替换的。
string FilePath = "";
strhtml = strhtml.Replace("$Title", title);
strhtml = strhtml.Replace("$NewsCaId", caid);
strhtml = strhtml.Replace("$NewsCaName", caname);
strhtml = strhtml.Replace("$Time", time);
strhtml = strhtml.Replace("$UserName", username);//这里需要循环输出
strhtml = strhtml.Replace("$Content", content);//这里需要循环输出

FilePath = Server.MapPath("~/") + "ITNews" + "//" + fileyyyymmdd + "//" + filename;
strhtml = strhtml.Replace("$SourceURL", sourceurl);

//创建文件信息对象--------------------------------------------
FileInfo finfo = new FileInfo(FilePath);
//以打开或者写入的形式创建文件流
using (FileStream fs = finfo.OpenWrite())
{
//根据上面创建的文件流创建写数据流
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.UTF8);
//把新的内容写到创建的HTML页面中
sw.WriteLine(strhtml);
sw.Flush();
sw.Close();
}

}
catch (Exception ex)
{
//输出异常信息
Response.Write(ex.ToString());
}

#endregion
}



当用此代码来生成新闻页时没有问题

但我想用来生成循环数据,例如留言本,论坛的贴子时,我应如何实现?
...全文
97 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
奔跑的蜗牛007 2009-02-19
  • 打赏
  • 举报
回复
主要是思路

针对你的需求,你需要作以下封装:

1.定义一个函数,生成某一条数据的HTML(含样式)
2.定义函数来生成其它部分的HTML

然后循环调用此函数即可

注意:在生成某一条数据的HTML时,要与整个页面的布局相关,如果用表格,则此函数生成就包括<td></td>
icanjj 2009-02-19
  • 打赏
  • 举报
回复
具体如何实现?
REIYA 2009-02-19
  • 打赏
  • 举报
回复
可以这样做

你做一个需要循环的模版



读取循环的模版 就可以了啊
后台管理,网址后加admin/Wrzcnet_login.asp帐户:admin密码:admin   仿京东商城网上购物系统正式版源码下载商城网站模板V2030强势推出!国内首个完全仿京东商城的购物系统,无论是程序的功能,还是网站系统的网站模板都是很京东商城风格的.中国最好的购物系统,本商城购物系统采用先进的AJAX技术与XML技术相融生成静态,速度更快!管理也更为轻松!仿京东商城源码,仿京东商城源码下载,仿京东商城系统源码,免费京东商城源代码,软件代码多重过滤结合强大的SEO优化可以快速被搜索引擎收录,独特的静态生成算法可以大大减轻服务器的负担,无论在生成速度还是安全方面都达到国内领先水平。   仿京东商城系统,京东商城程序, 仿京东商城模板V2030的部分特点与精华:在拥有HTM静态生成功能的基础上,系统在SEO优化方面更是表现得淋漓尽致,软件代码多重优化过滤,无论是整站还是商品、三级分类的各个设置等细节方面,均可独立设置搜索关键词及描述,让您的客户第一时间在搜索引擎中找到你!   由此可见,HTML静态版系统具有诸多优点:1、第一时间被搜索引擎收录,让客户第一时间找到您!2、大大减轻服务器负担,同等环境下,HTML静态版浏览速度要比ASP高出近10倍!即使在服务器负载较重的情况下,也不会让您漏失客户!3、更安全!HTML静态文件无任何漏洞,让您高枕无忧。4、更易维护和管理,后台只须轻轻一点,即可全部生成,方便快捷5、是电子商务时代所趋,目前较为流行的购物站均采用静态化的HTML,采用HTML静态版已是大势所趋。   免费的生成html静态文件的仿京东商城程序,多风格的网店系统,国内最强大的32套模板购物网站网软志成HTML静态版V2030,采用更为直观的静态生成模式!所有静态生成均在一个页面完成。购物网站模板下载,免费的购物程序商业版,同时采用极为先进的进度条调度模式!系统生成静态统一采用百分比及进度条直观显示,全站静态生成以进度条显示,以及生成的百度比!非常形象。生成过程随时掌控,使之更直观的呈现在人们面前!同时运用先进的技术手段,采用静态生成与动态跟踪技术,网店网站模板,网上商城网页模板下载,完全版的电子商务网站系统,静态生成页面实时显示未生成的数据,独创不重复生成技术!运用多种不同的生成规则使生成速度变的更为快速,仿京东商城网上购物系统正式版源码下载商城网站模板在生成HTM的基础上实现多种只有动态文件才有的功能,如用户状态、新闻的浏览率、相应的价格级别等信息!完美解决了HTM文件不能实时显示动态信息的瓶颈。   京东商城源程序免费下载,仿京东商城模板下载,京东商城购物网站程序,下载京东商城模板,以人性化管理为出发点,系统加入多种智能静态生成生成HTML的购物网站网页模板,商城系统完全版,网上商店开店系统,管理商城也由此变得游刃有余!有仿京东商城购物系统access版,仿京东商城网站模板mssql版,仿京东商城网站管理系统access生成html版,京东商城风格网页模板网店系统mssql生成html版下载.   系统功能方面更是十分强大!静态版率先支持了商品三级分类,支持七种在线支付,京东商城网源代码,京东商城网站源程序,京东商城源码,仿京东商城免费模板,同时支持Excel批量导入商品、文字或图片水印设置功能、商品优惠券及免运费设置的高级功能于一体,同时支持邮件订单通知与群发、完美整合BBS程序以及图片自动清除功能等等。
简介: 1、多级目录,每个目录下面可以有更深一级目录,并列出属于该目录的网站 管理:选择分类管理,添加需要的分类,或者选择下一级目录,同时可以选择删除(删)修改(修)制作(制)某一个目录 2、静态页面,所有目录页面均使用程序生成html页,不用读取数据库,大大节省了服务器资源 管理:选择制作下属页面,系统会列出搜索的类别,请选择需要生成的类别 3、目录模版,在数据库中存放了大量的页面模版,每一个目录都可以订制自己的网面 管理:选择模板管理,系统会列出目前已经存在的模板,你可以修改,添加,删除,添加时请按照示例进行制作,建议先将数据库备份再修改 4、即时登陆网站,站长可以随时登陆自己的网站,但是登陆以后只能在他选定的目录所显示的页面中的“更多”网站页面中显示出来,只有在管理员审查并生成页面以后才能直接在目录页面看到 5、模糊查找, 6、布尔查找,支持and(*) or(|) not(-)等布尔表达式 例如:烟台*一百-新闻 或者:烟台 and 一百 not 新闻 如果只需要and连接,可以只输入 烟台 一百,这与 烟台*一百、烟台 and 一百 效果等同 搜索结果将会把相关关键词以特殊的颜色显示出来 7、常用关键词页面自动生成,用户输入查找的关键词都保存在数据库中,如果有相同的关键词则这些关键词数量累加,管理员管理的时候可以生成排名在头几位的关键词页面,也就是提前替用户把这些关键词提前搜索出来了,并且生成静态html页面,用户在搜索这些关键词时,就可以直接显示这些已经生成的页面,避免了大量的查询数据库,节省了服务器资源 管理:选择关键词管理,系统会列出数据库中已经存在的可以生成的关键词,以及网友在使用这个搜索引擎时用的关键字(只选取排名头100个),管理员可以随意生成需要的关键词页面 8、网站顺序,在某个目录下的网站数目很多的时候,排在上面的网站被访问的几率比排在下面的网站几率要大得多,因此我又增加排名功能,管理员可以设定某个网站在该目录下的排名 9、单目录搜索,当用户在某个目录浏览的时候,可以选择在该目录下搜索和搜索全部目录,选择在该目录下搜索可以只搜索属于该目录以及该目录的子目录下的网站 10、静态页面在线生成,在管理界面可以在线生成所有目录下的页面以及关键词页面 11、二次搜索功能,当用户在搜索某个关键词以后,系统列出了〉20个结果以后,就会出现二次搜索界面,用户可以选择在这些结果中再次搜索,比如要求结果必须不包含某个关键词或者必须再包含某个关键词 12、模版的在线修改,不同的页面模版有不同的规则 14、所有目录在线动态修改,自动更新以前的页面 15、动态生成网站首页(需要模版支持) 16、分类参照:指一个分类类目名分在一个上级类目下,而在另一个类目下作参照。以@作后缀的类目名。

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧