各位大虾请进!!80分

westwei 2004-09-07 09:02:42
一个新闻管理系统!!当用户添加或者修改新闻数据库后,要求将新闻列表业页全全部生成html页面!!
新闻列表页可能有好几页!!
我希望是写一个函数!!
当修改数据库后立刻执行!!
原来的新闻列表页全部删掉!!

新手!!能给代码看看最好!!

...全文
101 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jkhzj001 2004-09-08
  • 打赏
  • 举报
回复
最近研究一个新闻系统,找到了关于asp.net生成HTML的资料

思路

1. 利用如Dw-Mx这样的工具生成html格式的模板,在需要添加格式的地方加入特殊标记(如$htmlformat$),动态生成文件时利用代码读取此模板,然后获得前台输入的内容,添加到此模板的标记位置中,生成新文件名后写入磁盘,写入后再向数据库中写入相关数据。

2. 使用后台代码硬编码Html文件,可以使用HtmlTextWriter类来写html文件。

优点

1. 可以建立非常复杂的页面,利用包含js文件的方法,在js文件内加入document.write()方法可以在所有页面内加入如页面头,广告等内容。

2. 静态html文件利用MS Windows2000的Index Server可以建立全文搜索引擎,利用asp.net可以以DataTable的方式得到搜索结果。而Win2000的Index服务无法查找xml文件的内容。如果包括了数据库搜索与Index索引双重查找,那么此搜索功能将非常强大。

3. 节省服务器的负荷,请求一个静态的html文件比一个aspx文件服务器资源节省许多。

缺点

思路二: 如果用硬编码的方式,工作量非常大,需要非常多的html代码。调试困难。而且使用硬编码生成的html样式无法修改,如果网站更换样式,那么必须得重新编码,给后期带来巨大的工作量。

因此这里采用的是第一种思路

示列代码

1.定义(template.htm)html模板页面

<html>

<head>

<title></title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

</head>

<body >

<table $htmlformat[0] height="100%" border="0" width="100%" cellpadding="10" cellspacing="0" bgcolor="#eeeeee" style="border:1px solid #000000">

<tr>

<td width="100%" valign="middle" align="left">

<span style="color: $htmlformat[1];font-size: $htmlformat[2]">$htmlformat[3]</span>

</td>

</tr>

</table>

</body>

</html>

2.asp.net代码:

//---------------------读html模板页面到stringbuilder对象里----

string[] format=new string[4];//定义和htmlyem标记数目一致的数组

StringBuilder htmltext=new StringBuilder();

try

{

using (StreamReader sr = new StreamReader("存放模板页面的路径和页面名"))

{

String line;

while ((line = sr.ReadLine()) != null)

{

htmltext.Append(line);

}

sr.Close();

}

}

catch

{

Response.Write("<Script>alert('读取文件错误')</Script>");

}

//---------------------给标记数组赋值------------

format[0]="background=\"bg.jpg\"";//背景图片

format[1]= "#990099";//字体颜色

format[2]="150px";//字体大小

format[3]= "<marquee>生成的模板html页面</marquee>";//文字说明

//----------替换htm里的标记为你想加的内容

for(int i=0;i<4;i++)

{

htmltext.Replace("$htmlformat["+i+"]",format[i]);

}

//----------生成htm文件------------------――

try

{

using(StreamWriter sw=new StreamWriter("存放路径和页面名",false,System.Text.Encoding.GetEncoding("GB2312")))

{

sw.WriteLine(htmltext);

sw.Flush();

sw.Close();

}

}

catch

{

Response.Write ("The file could not be wirte:");

}

小结

用此方法可以方便的生成html文件。程序使用了是循环替换,因此对需替换大量元素的模板速度非常快。

xiaoyuehen 2004-09-08
  • 打赏
  • 举报
回复
代码?需要很多..你还是上网搜索一下..很多例子..

不过基本上都不全..如果你自己做, 可以做全, 作为新手又可以学到很多东西, 试试吧.
QQgenie 2004-09-07
  • 打赏
  • 举报
回复
1.确定每页新闻条数
2.所有条数/页条数=总页数
3.循环生成list1,2,3,4等文件,查询多余的文件,删除

用一个模板更简单些
5400 2004-09-07
  • 打赏
  • 举报
回复
不会..帮你顶下
westwei 2004-09-07
  • 打赏
  • 举报
回复
不是吧!!给点建议也好呀!!
westwei 2004-09-07
  • 打赏
  • 举报
回复
各位大虾救救啦!!
==============浏览器特点==============1.多页面浏览(呵呵,此为废话)2.支持鼠标手势,并且可以自定义3.支持页面拖拽,并且可以定义拖拽各方向的功能(类似GreenBrowser).拖拽开启时,页面中原本拖拽所实现的部功能能正常使用,如将一段文字拖拽进一个textarea,input等,好像现在网上流行的多页面浏览器并不具备这个功能哦.4.支持插件5.广告过滤(效果大概没有现在那些热门多页面浏览器好,如maxthon)6.页面规则,对地址满足一定条件的页面执行相应操作7.自定义搜索引擎,可使用多引擎搜索8.方便代理服务器切换9.捕获下载地址,并使用指定的下载工具下载10.rss阅读(利用插件)11.绿色12......==============使用到的技巧==============1.鼠标手势的实现2.动态生成菜单并相应其点击事件,响应右键,可弹出菜单3.自画菜单4.利用资源文件生成菜单,并将其嵌入toolbar中5.能够对单独网页设定是否显示图片,ActiveX,动画,音乐...等东西6.实现了前进后退历史记录的显示7.如何使用代理8.使用ini文件9.托盘图标10.用api生成Toolbar,ListView,TreeView,TabStrip,StatusBar(代码另附)11.无需注册就可以使用com组件(如vb生成的ActiveX Dll)12.插件系统,这个系统完全是我自己想出来的,可能未必完善13.关于webbrowser的东西14.....==============各文件夹作用=====================MDI 主程序源码TLBz 主程序缺什么库(如tlb),到这里来找就有了ClearCache 一个清除缓存等的工具(源码)Plugin_LIB 制作插件相关的tlb源码Plugins 以写成的插件源码PluginsRssRead rss阅读插件 elease exe undllvb 用来调用dll(用于dll型插件)源码(vc6)IEMouseHand 是一个BHO(browser help object),用于对付那些对话框式弹出页面==============其他==============1.关于库"jccatch.dll#jccatch 1.0 Type Library",这个是flashget的东西,可以不要,并将frmFlashgetDownload中的Sub AddUrl()中的内容注释掉就行了2.需要设置一下vb才能在ide中正常运行tools->options->general,error trapping那里选上 break on unhandled errors3.这个程序是从2001年开始写的,那时候写的代码在各方面都不成熟,注释就不用说了,也就最近新写或改写的代码才有部注释,各位大虾就有怪莫怪了.详细文档,呵呵,懒人啊,以后再慢慢补上吧,现在先把代码发布了再说.4.部问题(如鼠标手势)可以到我的blog看看.5.这个东西我自己一直都在用的,所以不断会有更新,也会上传到我的主页.6.请不要用作商业用途(估计也没人用吧,^_^)=====================================by lingll 2005-8-30homepage: http://lingll.yeah.netblog: http://blog.csdn.net/lingll/email: lingll_xl@163.com
l_e多页面浏览器(0.6)源码 2010-9-18 在09年2月份的时候版本就变成0.6了,那时候就想着要把源码公布出来. 至于为何拖到现在才发布?一直没想到应该用怎样的版权声明. 到了现今,貌似也没必要想这个事情了,各位喜欢怎样用这份源码都行,如果可以的话,最好能提一下我,^0^ 另,库找不到的问题,可以先把所有的引用去掉,然后再依次添加. l_e多页面浏览器(1.4.136)源码 2007-2-12 其实此为0.5preview的版本,但有还没做到预期希望完成的功能,还差些吧,于是还叫1.4, 本来是暂时不想放出来的,想把未完成的都完成了再放出来,但最近也懒了,还是先把这个放出来吧, 修改的东西比较多,特别是插件部的代码,详细还是看devlog.txt吧 l_e多页面浏览器(1.4.56)源码 2006-1-11 源码所作的更新可以在devlog.txt中看到 myacc是实现"监视所有下载项"的主要代码,用vc写 l_e多页面浏览器(1.4.0)源码 2005-8-30 =========== 目录 ============ 浏览器特点 使用到的技巧 各文件夹作用 其他 ==============浏览器特点============== 1.多页面浏览(呵呵,此为废话) 2.支持鼠标手势,并且可以自定义 3.支持页面拖拽,并且可以定义拖拽各方向的功能(类似GreenBrowser).拖拽开启时,页面中原本拖拽所实现的部功能能正常使用,如将一段文字拖拽进一个textarea,input等,好像现在网上流行的多页面浏览器并不具备这个功能哦. 4.支持插件 5.广告过滤(效果大概没有现在那些热门多页面浏览器好,如maxthon) 6.页面规则,对地址满足一定条件的页面执行相应操作 7.自定义搜索引擎,可使用多引擎搜索 8.方便代理服务器切换 9.捕获下载地址,并使用指定的下载工具下载 10.rss阅读(利用插件) 11.绿色 12...... ==============使用到的技巧============== 1.鼠标手势的实现 2.动态生成菜单并相应其点击事件,响应右键,可弹出菜单 3.自画菜单 4.利用资源文件生成菜单,并将其嵌入toolbar中 5.能够对单独网页设定是否显示图片,ActiveX,动画,音乐...等东西 6.实现了前进后退历史记录的显示 7.如何使用代理 8.使用ini文件 9.托盘图标 10.用api生成Toolbar,ListView,TreeView,TabStrip,StatusBar(代码另附) 11.无需注册就可以使用com组件(如vb生成的ActiveX Dll) 12.插件系统,这个系统完全是我自己想出来的,可能未必完善 13.关于webbrowser的东西 14..... ==============各文件夹作用===================== \MDI 主程序源码 \TLBz 主程序缺什么库(如tlb),到这里来找就有了 \ClearCache 一个清除缓存等的工具(源码) \Plugin_LIB 制作插件相关的tlb源码 \Plugins 以写成的插件源码 \Plugins\RssRead rss阅读插件 \release exe \rundllvb 用来调用dll(用于dll型插件)源码(vc6) \IEMouseHand 是一个BHO(browser help object),用于对付那些对话框式弹出页面 ==============其他============== 1.关于库"jccatch.dll#jccatch 1.0 Type Library", 这个是flashget的东西,可以不要,并将frmFlashgetDownload中的Sub AddUrl()中的内容注释掉就行了 2.需要设置一下vb才能在ide中正常运行 tools->options->general, error trapping那里选上 break on unhandled errors 3.这个程序是从2001年开始写的,那时候写的代码在各方面都不成熟,注释就不用说了,也就最近新写或改写的代码才有部注释,各位大虾就有怪莫怪了. 详细文档,呵呵,懒人啊,以后再慢慢补上吧,现在先把代码发布了再说. 4.部问题(如鼠标手势)可以到我的blog看看. 5.这个东西我自己一直都在用的,所以不断会有更新,也会上传到我的主页. 6.请不要用作商业用途(估计也没人用吧,^_^) ===================================== by lingll 2005-8-30 blog: http://blog.csdn.net/li

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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