myform.txtcontent.value='
'+myform.txtcontent.value+' 在添加和修改新闻内容的网页中,必须将表单定义为myform,输入新闻内容的滚动文本框定义为txtcontent,否则此功能将无法实现。
第五章 系统主界面与登录程序设计
第一节 设计主界面
本主界面为default.asp,它的功能是显示新闻类别和每个类别中的10条新闻,并提供进入管理界面(index.asp)的链接。
录入新闻类别和新闻内容后,default.asp的界面如图5-6所示。
图5-6 default.asp的界面
下面介绍default.asp的主要代码。
1.显示新闻类别链接
default.asp将新闻按照分类显示,每个新闻类别只显示最新的10条新闻。如果新闻类别
较多,则网页会被拉长,给用户阅读带来不便。为了解决这个
问题,本实例使用书签来定义新
闻类别的位置,书签格式为#a<类别编号>。例如,类别编号为1的新闻类别的书签名称为#al。下面的代码将在网页中生成所有新闻类别的链接,每个链接都指相应新闻类别的书签。这样,用户就可以通过单击链接直达新闻类别了。
<%
'=====显示所有新闻类别供点击,点击不同类别显示该类别的新闻=====
'按顺序读取所有新闻类别,保存在记录集rsCate中
sql = "SELECT * FROM Category ORDER BY CateId"
Set rsCate = conn.Execute(sql)
'显示所有新闻类别链接
Do While Not rsCate.EOF
stitle = rsCate("CateName")
cid = rsCate("CateId")
'每个新闻类别标题被定义为一个书签,名为 #a类别编号
%>
<%=stitle%>|
<%
rsCate.MoveNext
Loop
%>
如果网页中显示的内容较多,通常需要通过定义书签的方法使用户快速到达指定的位置。书签是网页中被标记的位置或被标记的选中文本。在FrontPage中选择"插入"/"书签"菜单项,可以在指定位置插入书签。在本例中,因为书签位置是动态变化的,所以需要使用代码定义,方法如下:
2."新闻管理"链接
系统管理员Admin或其他用户可以通过"新闻管理"链接进入新闻管理页面index.asp
新闻管理 3.显示各新闻类别中的最新新闻
default.asp的主要内容是显示新闻类别中的最新10条新闻,并将3天内的新闻使用new图片标记。当然,如果新闻的内容经常更新,则可以将3天改为1天。
这部分代码如下:
<%
'=====显示所有新闻类别供点击,点击不同类别显示该类别的新闻=====
'按顺序读取所有新闻类别,保存在记录集rsCate中
sql = "SELECT * FROM Category ORDER BY CateId"
Set rsCate = conn.Execute(sql)
'显示所有新闻类别链接
Do While Not rsCate.EOF
stitle = rsCate("CateName")
cid = rsCate("CateId")
'每个新闻类别标题被定义为一个书签,名为 #a类别编号
%>
<%=stitle%>|
<%
rsCate.MoveNext
Loop
%>
新闻查询 |
新闻管理
<% '将指针移至开始位置,分别显示每个分类中的新闻 If rsCate.BOF = False Then rsCate.MoveFirst End If '依次显示每个新闻类别中最新的10条新闻 DO WHILE Not rsCate.EOF stitle = rsCate("CateName") cid = rsCate("CateId") '变量cnt用来记录 cnt = 0 '生成表格 Response.Write "" '显示新闻类别,并设置书签 Response.Write " == " '显示新闻类别标题 Response.Write stitle + " == | " '生成另一个表格,用于显示新闻标题 Response.Write"" '按提交时间的降序显示新闻标题 sql = "SELECT * FROM News WHERE CateId=" & cid & " ORDER BY Posttime DESC" rs.Open sql, conn, 1, 1 DO WHILE Not rs.EOF '计数 cnt = cnt + 1 '只显示10条新闻 If cnt < 11 Then Dim ndate ndate = DateAdd("d",-3,date()) '显示新闻标题及链接,查看新闻的脚本文件为NewsView.asp Response.Write "" + rs("Title") +"" '如果新闻中有图片,则在标题中显示(附图) If rs("Attpic") Then Response.Write "(附图)" End If Response.Write "" '3天内新闻标记new图片 If datediff("d", rs("Posttime"), ndate+time()) <= 0 Then Response.Write " | " End If '显示新闻提交的时间 Response.Write "(" + CStr(rs("Posttime")) + ") | " End If rs.MoveNext Loop Response.Write" " '设置返回顶部链接,跳转到书签#top Response.Write "返回顶部 " '生成"更多新闻"链接,查看指定类别所有新闻的脚本为Category.asp Response.Write "更多新闻... " Response.Write "
|
"