仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1381|回复: 18
打印 上一主题 下一主题

[学习教程] ASP网页设计使用ASP打造网站服装论坛DIY(二)

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:23:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp可以使用微软的activeX 使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般     2、构建文章显示模块  后面说过,一片详细的文章是分属在看板和主体之下的。因而显示文章也要经由看板列表和主体列表这两页面后,才干失掉特定主题下文章的列表。
  (1)板列表的显示页面:

< html>
< head>
< title>看板列表< /title>
< meta http-equiv="Content-Type"content="text/html; charset=GB2312">
< /head>
  (2)翻开毗连,显示看板列表

< %Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft AccessDriver (*.mdb)};dbq=" & Server.MapPath("bbssystem.mdb")
sql = "select * from 看板列表"
set rs=conn.execute(sql)
%>
  注:复杂的SQL查询,把一切的看板有关讯息传回到记载集RS中。上面的义务就是显示记载记得内容,并在响应的看板称号上创立显示看板主题的毗连。

< body bgcolor="#FFFFFF">
< h2 align="center">看板列表</h2>
< table width="60%" border="0"cellspacing="0" cellpadding="0"align="center">
< tr bgcolor="#FFFFCC">
< td height="35" width="25%">看板称号</td>
< td height="35" width="21%">板主</td>
< td height="35" width="23%">主题数</td>
< td height="35" width="31%">板主上岸</td>
< /tr>
  注:这儿一局部是显示出表格中每列的题目,这儿我没有效一个一致的函数来显示RS记载记的内容,由于如许可以对表格的外不雅和作风做更多的掌握,利用起来固然有点费事,然而却更加天真。

< %
do
boardid=rs("id")
boardname=rs("称号")
boardmanager=rs("板主")
response.write "< tr>< td><a href=qBoard.asp?boardid="& boardid& "&boardname=" & boardname& ">" & boardname &"< /a>< /td>"
  注:这一行是重点,当点击了各个板的称号后,可以毗连到显示看板主题的页面。法式代码看起来有点费事,我分化了给你讲,你就会分明了。在点击以后,阅读器恳求利用的是qBoard.asp页面,并带有一个参数boardid,代表要显示看板的ID号,在恳求页面和参数之间用问号(?)分隔。Boardid是后面设定了的变量,个中包括的就是对应看板的ID号。这个毗连中还带有别的一个参数boardname,用来把看板称号传递给qBoard.asp页面。在多个参数间利用"&"来分隔。这个参数不是必需的,传递曩昔是为了以免在qBorad.asp中再次用boardid来查询看板称号。普通来讲,可以罕用数据库操作就应该尽可能的罕用,如许可以进步ASP页面的功能。由于Response.Write语句利用字符串作为参数的,所以下面的字符串和变量之间利用的是"&"联合符。最初ASP页面注释的了局应当是像如许的

<td>< a href=qBoard.asp?boardid=1&boardname=体系板>体系板 < /a>< td>。
response.write "< td>< a href=qAuthor.asp?author="&boardmanager & ">" &boardmanager & "< /a></td>"
response.write "< td>" &rs("主题数") & "< /td>"
response.write "< td>< a href=managerlogin.asp?boardid="&boardid & ">板务处置< /a></td>< /tr>"  
  注:在这个表中,除可以由毗连来显示看板主题的内容,还有一个斑竹查询局部和板务处置局部,版主查询可所以经由过程qAuthor.asp来完成的,它只是复杂的从数据库中掏出作者讯息,并显示出来,这儿就不多说了。而板务处置是由managerlogin.asp页面来处置的。这属于文章核阅模块,我在前面再详说。

rs.movenext
loop until rs.eof
%>
  注:经由过程一个do … loop轮回,把记载集中一切的讯息都显示了出来。

< /table>
< div align="center"><br>
  点击看板称号可以失掉主题列表,点击板主称号可以观察板主讯息

< /div>
< /body>
< /html>
< %
set rs=nothing
conn.close
set conn=nothing
%>
  (3)打造qBaord.asp页面:  

< %
boardid=request("boardid") '掏出由上个页面传递过去的看板ID号
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft AccessDriver (*.mdb)};dbq=" & Server.MapPath("bbssystem.mdb")
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn
cmd.CommandText = "主题列表"
ReDim param(0) //注:声明参数数组
param(0) = CLng(boardid)//注:CLng 不成疏忽
Set rs = cmd.Execute( ,param )
%>
< html>
< head>
< title>主题列表< /title>
< meta http-equiv="Content-Type"content="text/html; charset=GB2312">
< /head>
< body bgcolor="#FFFFFF">
< h1 align="center"><%=rs("看板名")%>板主题列表 </h1>
< table width="80%" border="0"cellspacing="0" cellpadding="0"align="center">
< tr bgcolor="#FFFFCC">
< td width="89%" height="21">主题</td>
< td width="11%" height="21">文章数</td>
< /tr>
< %
do
topicid=rs("id")
topicname=rs("题目")
sum=rs("文章数")
response.write "< tr>< td><a href=qtopic.asp?topicid=" & topicid& "&boardname=" & boardname& ">" & topicname &"< /a>< /td>"
response.write "< td>" &sum & "< /td>< /tr>"
rs.movenext
loop until rs.eof
%>
< /table>
< /body>
< /html>

  注:qBoard.asp列出了某个版面下的一切的主题,在点击了主落款称后就会进入响应的主题文章列表。这个列表的是由qTopic.asp这个ASP剧本来完成的。Qtopic.asp的法式代码在实质上几近和qBoard.asp没有区分,只是在各自的细节上有所区分,这儿也不盘算再多讲了。
  (4)在点击了文章列表中的文章题目后,会进入文章内容阅读页article.asp:

< %
articleid=request("articleid")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft AccessDriver(*.mdb)};dbq=" & Server.MapPath("bbssystem.mdb")
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn
cmd.CommandText = "按id查询文章"
ReDim param(0) ' 声明
param(0) = CLng(articleid) ' Cint 不成疏忽
Set rs = cmd.Execute( ,param )
author=rs("作者id")
title=rs("题目")
data=rs("日期")
rate=rs("保举度")
boardid=rs("看板id")
topicid=rs("主题id")
boardname=rs("看板名")
topicname=rs("主落款")
content=rs("内容")
content=replace(content,vbCrlf,"</p>< p>")
content="< p>" & content& "< /p>"
  注:这是一个要注重的中央,在内容字段中包括的是备忘类型的文本,个中可以包括换行字符。在HTML的显示中,必需要把换行字符(也就是vbCrlf常数)换成HTML的段落符号。如许在段落与段落的跟尾处,就不会打乱本来输出时的格局。假如要设计的更好些,可以经由过程CSS来复位义< P>标签,设定其test-indent属性,就能够完成每段开首空格了。
  (5)把点击次数加一

sql="Update 内容表 Set 点击次数=点击次数+1Where ID=" & articleid
conn.execute sql
  注:这儿有一个SQL语句,没当页面被显示的时分,会把响应的表中点击次数字段加一,如许就可以够对文章阅读的次数做出统计,并可按按次排名。在履行条语句的时分,我发明:原本在SQL语句中,嵌入的变量名应当加上单引号以与区分,但在这儿的articleid变量上我并没有加单引号,竟然也可以经由过程,而我之前如许写历来都是会激发毛病的,不知是否是因为新版本的ADO的原因。

set cmd=nothing
%>
< html>
< head>
< title>Untitled Document< /title>
< meta http-equiv="Content-Type"content="text/html; charset=GB2312">
< /head>
< body bgcolor="#E9E9E4">
< table width="89%" border="0"cellspacing="0" cellpadding="0"align="center">
< tr bgcolor="#CCCCCC">
< td>作者:< font color="#FF3366"><a href="qauthor.asp?author=< %=author%>">< %=author%> < /a>< /font>宣布日期:< font color="#FF3333"><%=data%>< /font>
看板:< font color="#FF3333"><a href="qboard.asp?boardid=< %=boardid%>">< %=boardname%>< /a>< /font>板主保举:< font color="#FF3333">#rate#</font>< /td>
< /tr>
< tr bgcolor="#CCCCCC">
< td>题目:< font color="#FF3333"><%=title%>
主题:< a href="qtopic.asp?topicid=<%=topicid%>"> < %=topicname%>< /a> < /font>< /td>
< /tr>
< tr valign="top">
< td>
< hr>
< font color="#FF3366">文章内容:< /font>< br>
< br>
< font color=blue>< %response.writecontent%>< /font>
< br>
< br>
< /td>
< /tr>
< tr valign="top">
< td height="18">
< table width="50%" border="0"cellspacing="0" cellpadding="0"align="right" bgcolor="#CCCCCC">
< tr>
< td width="0%"> < /td>
<td width="65%">关于此话题<a href="submit.asp?topicid=< %=topicid%>&boardid=<%=boardid%>">宣布评论< /a></td>
  这个毗连答应网友对此评论的话题宣布本人的看法,这是下一个模块要讲的内容了,这儿且按下不表。

< /tr>
< /table>
< /td>
< /tr>
< /table>
< /body>
< /html>
< %
set rs=nothing
conn.close
set conn=nothing
%>
  到此,文章显示局部也完成了。上面再来看看文章宣布局部是若何完成的。


由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。
沙发
发表于 2015-2-16 00:45:01 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
柔情似水 该用户已被删除
板凳
发表于 2015-2-16 04:54:59 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
兰色精灵 该用户已被删除
地板
发表于 2015-2-26 06:34:15 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
透明 该用户已被删除
5#
发表于 2015-3-4 12:24:39 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
飘飘悠悠 该用户已被删除
6#
发表于 2015-3-6 04:48:41 | 只看该作者
掌握asp的特性而且一定要知道为什么。
谁可相欹 该用户已被删除
7#
发表于 2015-3-14 11:33:23 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
莫相离 该用户已被删除
8#
发表于 2015-3-19 23:33:50 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
若相依 该用户已被删除
9#
发表于 2015-4-2 22:12:49 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
简单生活 该用户已被删除
10#
发表于 2015-4-4 20:24:40 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
活着的死人 该用户已被删除
11#
发表于 2015-4-11 05:11:30 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
海妖 该用户已被删除
12#
发表于 2015-4-22 08:03:09 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
愤怒的大鸟 该用户已被删除
13#
发表于 2015-4-23 23:53:29 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
不帅 该用户已被删除
14#
发表于 2015-5-1 03:50:24 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
小女巫 该用户已被删除
15#
发表于 2015-5-1 18:10:44 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
admin 该用户已被删除
16#
发表于 2015-6-6 11:04:21 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
金色的骷髅 该用户已被删除
17#
发表于 2015-6-8 20:22:58 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
分手快乐 该用户已被删除
18#
发表于 2015-6-23 13:24:45 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
再现理想 该用户已被删除
19#
发表于 2015-6-27 20:59:11 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-29 20:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表