Dreamweaver UltraDev打造生成静态页的新闻系统2

2008-02-23 06:58:47来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  1、模板的修改。我们先从简单的模板修改入手,这个原理很简单:把模板的数据记录取出来,使用Updata Record,就行了。我们在example_updata.asp页上放一个表单及一个text域(多行),建立一个记录集,如下图:

  把记录<%=(rsUpdata.Fields.Item("E_Meno").Value)%>插入到你的text域中去,然后执行(Server Bahaviors ---> Updata Record),将成功页指向ok.htm就行了。

  2、新闻记录及页面的删除。普通的记录删除相信大家都会了,但是我们如果光删除了数据库中的记录,硬盘上还留有静态页的文件,这是我们不想见到的,所以我们还要用到FSO的DeleteFile方法。

  打开我们刚才做好的browse.asp页面,在表格的第2列,添一个表单域,1个按钮和2个隐藏域(name为N_FilePath和ID_News),设置表单的action="del.asp"。效果如图:

  分别将记录<%=(rsBrowse.Fields.Item("N_FilePath").Value)%>和<%=(rsBrowse.Fields.Item("ID_News").Value)%>插入到隐藏域N_FilePath和ID_News的Value里去,这个页ok了。

  3、删除新闻页del.asp。在这个页我们分别用command和FSO来删除记录和*.htm页,打开空白的del.asp页,打开Date Bindings --> Command(Stored Procedure) ,新建一个command命令,如图:

  ok,删除数据库记录就做好了哦!是不是超简单!下面我们来添加删除新闻*.htm页的FSO代码。

  找到如下代码:

<%

set comDelNews = Server.CreateObject("ADODB.Command")
comDelNews.ActiveConnection = MM_asp2htm_STRING
comDelNews.CommandText = "DELETE FROM T_News WHERE ID_News =" Replace(comDelNews__varID, "'", "''") ""
comDelNews.CommandType = 1
comDelNews.CommandTimeout = 0
comDelNews.Prepared = true
comDelNews.Execute()

%>
  这是我们刚才添加的command命令,在这段代码下加上如下代码:

<% '删除新闻静态页面
Dim filepath
filepath=Request("N_FilePath")
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile(Server.mappath(filepath))
Set fso = nothing

response.redirect "ok.htm" '操作成功转向的页面
%>

  这样静态页的删除工作也做好了,保存!

 
  (PS:为什么要把FSO的代码放在command命令下面呢?这是为了以防万一运行del.asp页的时候,出现突发性事件,比如:停电、死机,可能上面的command命令已经执行完了,那么在浏览的时候,还是达到删除新闻的效果了,至少没有显示了。但是如果反过来,先执行了FSO把*.htm页删除了,但是数据库的记录还在,用户在点击浏览的时候就会找不到页面。这是个小问题,大家可以多思考一下)

  4、新闻修改更新。关于这个功能,更新数据库内容的方法我们都很熟了,用Updata Record行为就好了,这里主要是如何更新*.htm里的内容?其实一个比较简单的方法就是:重新创建一个*.htm的页,当然页面的名称和路径都是要更新的新闻页的名称和路径,这样,创建好了后,就覆盖了原来的文件,更新的操作也完成了。好!明白了道理,也有了前面添加新闻的基础,应该难不倒你喽!
我们首先在browse.asp页上添加个按钮,在前面“删除”按钮的后面,插入一个表格列,在里面插入一个表单,及1个按钮和1个隐藏域name=ID_News_updata(你也可以用文字,如:更新,连接到updata.asp页,参数为ID_News=<%=(rsBrowse.Fields.Item("ID_News").Value)%>),效果如图:

  设置表单(这里是form2)的action="updata.asp",好了,这个页就ok了,保存!

  5、updata.asp页面。这里我们先建立一个记录集,如图:

  然后我们插入用来更新记录的表单,和添加新闻的add.asp页类似,效果如图:

  然后,添加一个Updata Record行为,成功页指向ok.htm。好了,这个页面我们先放一放!先做下面的!

  6、保存更新的updata_save.asp页。这个页,除了添加新闻Insert Record行为以外,updata_save.asp和save.asp页的代码应该是一样的,我们可以打开save.asp页,另存为updata_save.asp。ok,我们再打开updata.asp页,下面我们又要拆分UD的代码了,有了前面的经验,应该没什么问题了吧!剪切下如下代码:

<%
' *** Edit Operations: declare variables

MM_editAction = CStr(Request("URL"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Request.QueryString
End If

' boolean to abort record edit
MM_abortEdit = false

......
......
.....中间代码略过.....

Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close

If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If

End If
%>

  然后把updata.asp的表单的action="updata_save.asp",保存!

  打开updata_save.asp(这个页是刚才我们从save.asp页另存过来的),我们用刚才剪切下的更新代码,替换掉updata_save.asp页里的添加记录的代码(就是FSO代码下的那些,忘了,就看看前面),ok,保存!这样更新的功能也有了,试试!不错吧!

  到这里为止,我们的ASP2Htm新闻系统已经具备了必备的功能了,新闻的添加、删除、更新还包括模板的修改,但是这还远远不够,我们还需要更多人性化的功能,比如:可创建和选择多个模板,能够自定义并创建新闻目录文件夹,以及我们如何在其他地方妥善的使用FSO这个功能等等。还有很多程序的扩展等着我们!

上一页

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Dreamweaver UltraDev打造生成静态页的新闻系统

下一篇:Dreamweaver UltraDev打造生成静态页的新闻系统3