日期:2011-01-25  浏览次数:21092 次

一个功能完善的专栏管理的程序->这是asp.net的第二个应用(四)
/*
豆腐制作,都是精品
http://www.asp888.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="http://edu.cnzz.cn/NewsInfo/images/banner.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.i