这是asp.net的第二个应用(四)
我们首先来按照栏目的类别来显示栏目的所有文章,当然一个分页的程序是非常关键的,我们还是来用
我们在 留言版 中用到的 那个分页的程序,过几天 我会把这个作成一个pagelet 的,大家赶快鼓励我吧!
showarticle.aspx:
<!--#include file=\"func.aspx\"-->
<html>
<head>
<title>浏览文章</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">
<meta name=\"Description\" Content=\"探讨ASp,Php 编程,介绍Visual Basic ,Visual C++
等业界最新技术 并提供 免费的各种服务 包括 免费统计系统,免费调查
并提供 招聘站点和 同学录 的服务\">
<meta name=\"Keywords\" Content=\"探讨ASp,Php 编程,介绍Visual Basic ,Visual C++
等业界最新技术 并提供 免费的各种服务 包括 免费统计系统,免费调查
并提供 招聘站点和 同学录 的服务\">
<link REL=\"SHORTCUT ICON\" href=\"http://www.asp888.net/site.ico\">
<META HTTP-EQUIV=\"Pragma\" CONTENT=\"no-cache\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"/doufu.css\">
</head>
<body>
<!--广告开始-->
<img src=\"/Files/BeyondPic/200601/2006-1/19/061192244274843.gif\">
<!--广告结束-->
<%
dim strClassid as string
dim conn as SQLConnection
dim sqlCmd as SQLCommand
dim sqlRead as SQLDataReader
dim strSQL as string
dim intLen as integer
dim intRecCount as integer
strClassid=request.querystring(\"classid\")
conn=GetConn()
strSQL=\"select count(*) from lanmu where classid=\" & strClassid & \"\"
sqlCmd=new SQLCommand(strSQL,conn)
sqlCmd.ActiveConnection.Open()
sqlCmd.Execute(sqlRead)
sqlCmd.ActiveConnection.Close()
sqlRead.Read()
if cInt(sqlRead(0))=0 then
response.write(\"对不起,当前这个栏目没有内容\")
response.end
end if
intRecCount=sqlRead(0)
strSQL=\"select * from lanmu,lanmuclass where lanmu.classid=lanmuclass.classid and lanmu.classid=\" & strClassID & \" and lanmu.isuse=\'1\' order by id desc\"
sqlCmd=new SQLCommand(strSQL,conn)
sqlCmd.ActiveConnection.Open()
sqlCmd.Execute(sqlRead)
\'处理分页显示
dim intPageCount as integer
dim intStart as integer
if isNumeric(request.querystring(\"start\")) then
intStart=Cint(request.querystring(\"start\")) \'本页数据起使位置
else
intStart=0
end if
intLen=10 \'每页需要显示的数据数量
\'以下计算 当前的 记录的分页页数
if (intRecCount mod intLen)=0 then
intPageCount=intRecCount/intLen
else
intPageCount=(intRecCount-(intRecCount mod intLen))/intLen+1
end if
dim i as integer
\'将得到的sqlRead向后移动 start 指定的 位置
for i=0 to intStart-1
sqlRead.read()
next
\'显示table 分页Bar
WritePage(intStart,\"showarticle.aspx\",intLen ,intPageCount ,intRecCount )
%>
<table border=1 width=100%>
<tr>
<td width=10% align=center>编号</td>
<td width=50% nowrap>主题</td>
<td width=25% align=center>作者</td>
<td width=25% align=center>阅读次数</td>
</tr>
<%
for i=0 to intLen-1
atEnd=sqlRead.read()
if not atEnd then exit for%>
<tr>
<td align=center><%=sqlRead(\"id\")%></td>
<td><a href=\"viewArticle.aspx?id=<%=sqlRead(\"id\")%>\"><%=sqlRead(\"title\")%></a></td>
<td align=center><%=sqlRead(\"userid\")%></td>
<td align=center><%=sqlRead(\"viewnum\")%></td>
</tr>
<%next%>
</table>
<p></p>
</body>
</html>
这个程序没有什么说的,我们看看就可以了。如果有什么看不懂的地方,别着急,再看看下面的这个程序:)
viewarticle.aspx 文件是用来查看具体的某一篇文章的,因为时间的关系,我没有把这个程序的评论和打分的
功能添加上,哎!我也很伤心,等到以后吧!
viewarticle.aspx
<!--#include file=\"func.aspx\"-->
<%
dim conn as SQLCOnnection
dim sqlRead as SQLDataReader
dim sqlCmd as SQLCommand
dim strSQL as string
dim strID as string
conn=getConn()
strID=request.querystring(\"id\")
strSQL=\"select * from lanmu,lanmuclass where lanmu.classid=lanmuclass.classid and lanmu.id=\" & strID & \"\"
sqlCmd=new SQLCommand(strSQL,conn)
sqlCmd.ActiveConnection.Open()
sqlCmd.Execute(sqlRead)
if not sqlRead.Read() then
\'没有留言信息
echoErr(\"对不起,当前这个栏目还没有内容\")
end if
%>
<html>
<head>
<title>浏览文章__技术专栏__<%=sqlRead(\"title\")%></title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">
<meta name=\"Description\" Content=\"探讨ASp,Php 编程,介绍Visual Basic ,Visual C++
等业界最新技术 并提供 免费的各种服务 包括 免费统计系统,免费调查
并提供 招聘站点和 同学录 的服务\">
<meta name=\"Keywords\" Content=\"探讨ASp,Php 编程,介绍Visual Basic ,Visual C++
等业界最新技术 并提供 免费的各种服务 包括 免费统计系统,免费调查
并提供 招聘站点和 同学录 的服务\">
<link REL=\"SHORTCUT ICON\" href=\"http://www.asp888.net/site.ico\">
<META HTTP-EQUIV=\"Pragma\" CONTENT=\"no-cache\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"/doufu.css\">
</head>
<body>
<!--广告开始-->
<img src=\"/Files/BeyondPic/200601/2006-1/19/061192244274843.gif\">
<!--广告结束-->
<p>当前所在位置--<a href=\"/\">豆腐技术站</a>__<a href=\"/lanmu\">技术专栏</a>__<a href=\"showArticle.asp?classid=<%=sqlRead(\"Classid\")%>\"><%=sqlRead(\"classname\")%></a></font></p>
<center><font color=gray>这篇文章已经被阅读</font><font color=red><%=sqlRead(\"viewnum\")+1%></font><font color=gray>次</font></center>
<p><%=replace((server.HTMLEncode(sqlRead(\"content\"))),chr(13),\"<br>\")%></p>
<table width=100%>
<tr>
<td width=100% align=right>作者:<%=sqlRead(\"userid\")%>(<%=sqlRead(\"selFrom\")%>)</td>
</tr>
<tr>
<td width=100% align=right>添加时间:<%=sqlRead(\"dtime\")%></td>
</tr>
</table>
<p>
</body>
</html>
<%response.end%>
<script language=\"VB\" runat=server>
sub EchoErr(strErr as string)
response.write(\"<html>\")
response.write(\"<head>\")
response.write(\"<title>浏览文章</title>\")
response.write(grabPage(\"/inc/head.inc\"))
response.write(\"<link rel=\'stylesheet\' type=\'text/css\' href=\'/doufu.css\'>\")
response.write(\"</head>\")
response.write(\"<body>\")
response.write(strErr)
response.write(\"</body></html>\")
response.end
end sub
</script>
哎,纯粹的 asp 代码,我都有些忍不住了,但是的确是 这样,asp.net 对于初学者来说,他的门槛并不高
,我会在 以后不长的时间,等到大家都已经认为已经入门以后,推出这个系列文章的下一个版本,那个时候
将使用纯粹的asp.net 的代码,不过话又 说回来,用什么方法不重要,只不过是我们对自己的要求而已,
asp.net正是因为他可以使 asp 的程序员 很轻松的升级到asp+,我们才说,他真牛!