| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
前言
“新闻系统”似乎是所有学Dreamweaver UltraDev(以下简称UD)的朋友的第一课,什么!!!我们今天又要做新闻系统!大家都会的啦!呵,今天给大家讲的是能够生成静态的*.htm页的新闻系统哦!
所谓的静态页的新闻系统是怎么回事的呢?我们来看新浪的新闻页,地址如:http://news.sina.com.cn/c/2002-05-23/1558584195.html。这个地址怎么是*.htm结尾的呢?我们用ASP做的话,不都是好象http://news.sina.com/news.asp?ID=242553的吗?难道新浪的新闻都是手动添加的吗?”一位论坛中朋友不禁问道。答案当然不是(如果是这样的话,新浪的后台管理人员打字都要把手打短了,哈)! 其实新闻仍然是用数据库的形式添加的,只是生成的同时使用FSO(“FileSystemObject”,就是我们所谓的File Access组件),把数据库的内容写成静态的*.htm页面,这样做有什么好处呢? 当网站流量太大的时候,我们的ASP就忙不过来了,大量的数据库检索查询,会让我们的服务器承受不住,如果请求的都是静态页的话,就大大降低了服务器的负荷,速度当然也快啦!
好了,是不是有点兴趣了,下面我们说说程序的要求和制作的要点: 网管u家u.bitscn@com
1、服务器系统:win2000 IIS5.0或IIS4.0(强烈建议);
2、你的系统或是远端服务器必须支持FSO(FileSystemObject文件读写);
3、在程序制作中我们要学会分离UD产生的代码(也让我们能够理解UD让人“恐怖”的代码);
4、部分的手写代码,结合UD的代码制作(从来没打开过code窗口的朋友可要注意哦);
OK!做好准备了!就让我们开始吧!
上篇:新闻的添加
1、页面清单。在这个简单的新闻系统中,我们要用到如下页面:add.asp(添加新闻),browse.asp(新闻浏览),del.asp(删除新闻),example_updata.asp(模板修改), save.asp(保存新闻),ok.htm(成功页) ,updata.asp(修改新闻),updata_save.asp(保存修改)
2、数据库准备。建立个数据库(这里我们采用Access2000)文件:asp2htm.mdb,建2个表:T_News,T_Example,具体如图: 网管u家u.bitsCN.com

网管联盟bitsCN@com
中国网管联盟bitsCN.com
End If
%>
接下来打开save.asp页面(可以是个空的页面),把这写代码贴进去,保存。这样我们就把UD生成的添加记录代码分离了哦!最后,要把表单发送到save.asp页面,发送类型“post”,action="save.asp"。
5、用时间做文件名和取得静态*.htm页的保存路径。这里是一写手写的代码,主要有一个函数,用来把当前时间做为文件名,就好象 当前时间.htm,那就避免了文件重名的问题了。函数如下:
中国网管联盟bitsCN.com
N_Title=Request.Form("N_Title")
N_Content=DoWhiteSpace(Request.Form("N_Content"))
N_Date=Request.Form("N_Date") 中国网管论坛bbs.bitsCN.com
filepath=Request.Form("N_FilePath") '文件路径 网管网www.bitscn.com
pencat=rs.Fields.Item("E_Meno").Value '替换模板中的内容为输入的内容
pencat=replace(pencat,"E_Title",N_Title)
pencat=replace(pencat,"E_Content",N_Content)
pencat=replace(pencat,"E_Date",N_Date)
'把数据动态内容写成静态文件
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set fout = fso.CreateTextFile(Server.MapPath(filepath))
fout.WriteLine pencat
fout.close
%>
拷贝这段代码,粘贴到记录集rs的后面、从add.asp拷贝过来的代码的前面,就是如下位置:
<%
set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = MM_asp2htm_STRING
rs.Source = "SELECT * FROM T_Example"
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 3
rs.Open()
rs_numRows = 0
%>
贴到这里
<%
' *** Edit Operations: declare variables 网管联盟bitsCN@com
MM_editAction = CStr(Request("URL"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Request.QueryString
End If
............
剩下的,还有一些html的代码(标记<html>到</html>),我们也可以删了他们,保存。
7、添加成功页ok.htm和浏览页browse.asp。成功页ok.htm,在简单不过了,我们可以在写上“操作成功”,然后在下面写个“新闻浏览”,连接到browse.asp。
浏览页browse.asp也比较简单,我们先建立一个记录集,如下图:
网管下载dl.bitscn.com
然后,在页上添一个1*2的表格,插入记录,做好重复区域,如图:
网管论坛bbs_bitsCN_com
选中{rsBrowse.N_Title},在属性Properties面板--->Link,上插入记录<%=(rsBrowse.Fields.Item("N_FilePath").Value)%>,如图: 网管下载dl.bitscn.com
ok!现在浏览一下看能不能看到我们刚才添的新闻!!
到目前为止我们算是看到小成果喽!是不是很有成就感?不过这还远远不够哦!我们还需要能够删除、更新还要能修改我们新闻页面的样式等等!
中国网管论坛bbs.bitsCN.com
|
0
|
评论加载中…