这是asp.net的第二个应用(四)

http://www.asp888.net 豆腐技术站

我们首先来按照栏目的类别来显示栏目的所有文章,当然一个分页的程序是非常关键的,我们还是来用
我们在 留言版 中用到的 那个分页的程序,过几天 我会把这个作成一个pagelet 的,大家赶快鼓励我吧!

showarticle.aspx:

 1<html>
 2<head>
 3<title>浏览文章</title>
 4<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
 5<meta content="探讨ASp,Php 编程,介绍Visual Basic ,Visual C++   
 6等业界最新技术 并提供 免费的各种服务 包括 免费统计系统,免费调查   
 7并提供 招聘站点和 同学录 的服务" name="Description"/>
 8<meta content="探讨ASp,Php 编程,介绍Visual Basic ,Visual C++   
 9等业界最新技术 并提供 免费的各种服务 包括 免费统计系统,免费调查   
10并提供 招聘站点和 同学录 的服务" name="Keywords"/>
11<link href="http://www.asp888.net/site.ico" rel="SHORTCUT ICON"/>
12<meta content="no-cache" http-equiv="Pragma"/>
13<link href="/doufu.css" rel="stylesheet" type="text/css"/>
14</head>
15<body>
16<!--广告开始-->
17<img src="images/banner.gif"/>
18<!--广告结束-->   

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=" &amp; strClassid &amp; ""
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=" &amp; strClassID &amp; " 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 )

1<table border="1" width="100%">
2<tr>
3<td align="center" width="10%">编号</td>
4<td nowrap="" width="50%">主题</td>
5<td align="center" width="25%">作者</td>
6<td align="center" width="25%">阅读次数</td>
7</tr>   

for i=0 to intLen-1
atEnd=sqlRead.read()
if not atEnd then exit for

 1<tr>
 2<td align="center">```
 3=sqlRead("id")
 4```</td>
 5<td><a ```"="" href="viewArticle.aspx?id=```
 6=sqlRead(" id")="">```
 7=sqlRead("title")
 8```</a></td>
 9<td align="center">```
10=sqlRead("userid")
11```</td>
12<td align="center">```
13=sqlRead("viewnum")
14```</td>
15</tr>   

next

1</table>
2<p></p>
3</body>
4</html>

这个程序没有什么说的,我们看看就可以了。如果有什么看不懂的地方,别着急,再看看下面的这个程序:)
viewarticle.aspx 文件是用来查看具体的某一篇文章的,因为时间的关系,我没有把这个程序的评论和打分的
功能添加上,哎!我也很伤心,等到以后吧!
viewarticle.aspx

 1 
 2
 3dim conn as SQLCOnnection   
 4dim sqlRead as SQLDataReader   
 5dim sqlCmd as SQLCommand   
 6dim strSQL as string   
 7dim strID as string   
 8conn=getConn()   
 9strID=request.querystring("id")   
10strSQL="select * from lanmu,lanmuclass where lanmu.classid=lanmuclass.classid and lanmu.id=" & strID & ""   
11sqlCmd=new SQLCommand(strSQL,conn)   
12sqlCmd.ActiveConnection.Open()   
13sqlCmd.Execute(sqlRead)   
14if not sqlRead.Read() then   
15'没有留言信息   
16echoErr("对不起,当前这个栏目还没有内容")   
17end if   
 1<html>
 2<head>
 3<title>浏览文章__技术专栏__```
 4=sqlRead("title")
 5```</title>
 6<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
 7<meta content="探讨ASp,Php 编程,介绍Visual Basic ,Visual C++   
 8等业界最新技术 并提供 免费的各种服务 包括 免费统计系统,免费调查   
 9并提供 招聘站点和 同学录 的服务" name="Description"/>
10<meta content="探讨ASp,Php 编程,介绍Visual Basic ,Visual C++   
11等业界最新技术 并提供 免费的各种服务 包括 免费统计系统,免费调查   
12并提供 招聘站点和 同学录 的服务" name="Keywords"/>
13<link href="http://www.asp888.net/site.ico" rel="SHORTCUT ICON"/>
14<meta content="no-cache" http-equiv="Pragma"/>
15<link href="/doufu.css" rel="stylesheet" type="text/css"/>
16</head>
17<body>
18<!--广告开始-->
19<img src="images/banner.gif"/>
20<!--广告结束-->
21<p>当前所在位置--<a href="/">豆腐技术站</a>__<a href="/lanmu">技术专栏</a>__<a ```"="" classid")="" href="showArticle.asp?classid=```
22=sqlRead(">```
23=sqlRead("classname")
24```</a></p>
25<center><font color="gray">这篇文章已经被阅读</font><font color="red">```
26=sqlRead("viewnum")+1
27```</font><font color="gray">次</font></center>
28<p>```
29=replace((server.HTMLEncode(sqlRead("content"))),chr(13),"&lt;br/&gt;")
30```</p>
31<table width="100%">
32<tr>
33<td align="right" width="100%">作者:```
34=sqlRead("userid")
35```(```
36=sqlRead("selFrom")
37```)</td>
38</tr>
39<tr>
40<td align="right" width="100%">添加时间:```
41=sqlRead("dtime")
42```</td>
43</tr>
44</table>
45<p>
46</p></body>
47</html>
1response.end
 1<script language="VB" runat="server">   
 2sub EchoErr(strErr as string)   
 3response.write("<html>")   
 4response.write("<head>")   
 5response.write("<title>浏览文章</title>")   
 6response.write(grabPage("/inc/head.inc"))   
 7response.write("<link rel='stylesheet' type='text/css' href='/doufu.css'>")   
 8response.write("</head>")   
 9response.write("<body>")   
10response.write(strErr)   
11response.write("</body></html>")   
12response.end   
13end sub   
14</script>

哎,纯粹的 asp 代码,我都有些忍不住了,但是的确是 这样,asp.net 对于初学者来说,他的门槛并不高
,我会在 以后不长的时间,等到大家都已经认为已经入门以后,推出这个系列文章的下一个版本,那个时候
将使用纯粹的asp.net 的代码,不过话又 说回来,用什么方法不重要,只不过是我们对自己的要求而已,
asp.net正是因为他可以使 asp 的程序员 很轻松的升级到asp+,我们才说,他真牛!

Published At
Categories with Web编程
Tagged with
comments powered by Disqus