|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。asp+版本复杂的留言板的制造(三)
/*
豆腐制造,都是佳构
http://www.asp888.net豆腐手艺站
如转载,请保存版权信息
*/
如今该显现了,实在显现是很复杂,只需看过豆腐后面文章的伴侣应当都晓得该怎样写这个程序,可是我在这里要夸大的是分页的程序,我也和人人一样,在入手下手的时分,想使用webform的数据绑定的功效,可是不幸的是,固然用datagrid完成绑定和分页都是很复杂的,可是datagrid明显情势上的Grid明显对留言版如许的程序是不合适的,DBList到是能够合适留言版的程序情势
可是我查找了很长的工夫都没有找到怎样往完成分页的程序厥后在MSDN上找到了PagedDataSource看看他的ClassMember我都心有余悸,一切的我要的分页的功效他都已供应了,可是我在调试的过程当中,却怎样也没法经由过程,估量是和我的PDC版本的缘故原由,这个时分,我就想起了高兴(注:网友称号,他已经倡议我间接安装NGWSbeta1和Vs7beta1):)
但愿人人假如在Beta1上调试乐成了今后,必定要告知豆腐
没有其余举措,我只好就往用我的老举措,用程序往把持,老天,我不想如许,可是我真的没有其余举措了
人人请看程序:
<%@ImportNamespace="System.Data"%>
<%@ImportNamespace="System.Web.Security"%>
<%@ImportNamespace="System.Web.UI"%>
<%@ImportNamespace="System.Data.SQL"%>
<HTML><HEAD>
<scriptrunat="server"language="VB">
dimsqlReadasSQLDataReader
dimintStartasinteger
dimintLenasinteger
dimintPageCountasinteger
dimintRecCountasinteger
SubPage_Load(SrcAsObject,EAsEventArgs)
DimconnAsSQLConnection
DimCfgasHashTable
DimsqlcmdAsSQLCommand
Cfg=Context.GetConfig("appsettings")
Conn=NewSQLConnection(cfg("Conn"))
dimstrSQLasstring
其实是没有举措,只好如许来取得纪录总数了
依据NGWS的匡助上看仿佛有个PagedDataSource好象功效挺壮大
可是就是不晓得应当怎样利用也没有见过用他的例子
strSQL="selectcount(*)asccountfrommsgBoard"
sqlcmd=NewSQLCommand(strSQL,conn)
sqlcmd.ActiveConnection.Open()
sqlcmd.execute(sqlRead)
sqlRead.Read()
intRecCount=cInt(sqlRead("ccount"))
sqlcmd.ActiveConnection.Close()
strSQL="select*frommsgBoardorderbymsgiddesc"
sqlcmd=NewSQLCommand(strSQL,conn)
sqlcmd.ActiveConnection.Open()
sqlcmd.execute(sqlRead)
ifisNumeric(request.querystring("start"))then
intStart=Cint(request.querystring("start"))本页数据起使地位
else
intStart=0
endif
intLen=10每页必要显现的数据数目
以下盘算以后的纪录的分页页数
if(intRecCountmodintLen)=0then
intPageCount=intRecCount/intLen
else
intPageCount=(intRecCount-(intRecCountmodintLen))/intLen+1
endif
dimiasinteger
将失掉的sqlRead向后挪动start指定的地位
fori=0tointStart-1
sqlRead.read()
next
endsub
subWritePage(startasinteger,fileasstring)
举行分页处置
dimstrWriteasstring
strWrite="<tableborder=1width=100%><tr><td>"
response.write(strWrite)
ifstart=0then
strWrite="首页"
else
strWrite="<ahref="&file&"?start=0>首页</a>"
endif
response.write(strWrite)
ifstart>=1then
strWrite="<ahref="&file&"?start="&cStr(start-intLen)&">上页</a>"
else
strWrite="上页"
endif
response.write(strWrite)
ifstart+intLen<intRecCountthen
还没有到最初一页数据
strWrite="<ahref="&file&"?start="&cStr(start+intLen)&">下页</a>"
else
strWrite="下页"
endif
response.write(strWrite)
ifstart+intLen<intRecCountthen
还没有到最初一页数据
strWrite="<ahref="&file&"?start="&cStr((intPageCount-1)*intLen)&">末页</a>"
else
strWrite="末页"
endif
response.write(strWrite&"</td><td>")
strWrite="以后共有留言"&Cstr(intRecCount)&",如今是第<fontcolor=red>"&cStr((intStart/intLen)+1)&"/"&cstr(intPageCount)&"</font>页"
response.write(strWrite)
strWrite="</td></tr></table>"
response.write(strWrite)
endsub
</script>
<title>豆腐手艺站__aspx分站__检察留言</title>
<linkrel="stylesheet"type="text/CSS"href="/doufu.css">
</HEAD>
<BODY>
<ahref="http://www.asp888.net">豆腐手艺站</a>亲情贡献<br>
<%
WritePage(intStart,"a.aspx")
dimatEndasboolean
%>
<%fori=0tointLen-1%>
<%
atEnd=sqlRead.read()
ifnotatEndthenexitfor
%>
<divalign=center>
<tableborder=1width=80%>
<tr>
<tdwidth=10%>呢称</td>
<tdwidth=40%><%=sqlRead("nickname")%></td>
<tdwidth=10%>IP地点</td>
<tdwidth=10%><%=sqlRead("IPAddr")%></td>
</tr>
<tr>
<tdwidth=10%>接洽体例</td>
<tdwidth=90%colspan=3><%=sqlRead("email")%></td>
</tr>
<tr>
<tdwidth=10%>留言主题</td>
<tdwidth=90%colspan=3><%=sqlRead("msgTitle")%>----<fontcolor=red><%=sqlRead("msgTime")%></font></td>
</tr>
<tr>
<tdwidth=10%>留言内容</td>
<tdwidth=90%colspan=3><%=server.HTMLEncode(sqlRead("msgContent"))%></td>
</tr>
</table>
</div>
<p></p>
<%next%>
</body>
</html>
终究完了:)
停止语:
在人人看过三篇文章后,全部的留言版的程序也就已全体的讲完了,客不雅的说,经由过程这个程序我们还没法完整的明白asp+给我们带来的一切使人镇静的功效,并且另有良多的功效如今仿佛仍是在宣扬的阶段,可是究竟如今才是Beta1的阶段,信任在正式版本推出的时分,我们能够看到一个全新的面向Web编程的.net平台
由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。 |
|