第四课:内容显示与内容分页
在这一课,我们将探讨内容显示与内容分页的问题。
这也是WAP页面上经常用到的一个操作!该功能的重要性不亚于文章列表分页,因为手机内存的限制,篇幅太长的文章可能导致手机死机或者显
示异常的现象。
新建NewsShow.asp文件,将文件的编码和内容的编码转成UTF-8,将文件的编码保存为UTF-8(文件--另存为--编码:选择“UTF-8”--保存)
复制以下代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="inc/config.asp"-->
<%
Response.ContentType="text/vnd.wap.wml;charset=UTF-8" '将文件的格式转换成wml,编码为UTF-8
%>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
<meta http-equiv="Cache-Control" content="max-age=0"/><!-- 每次都需通过连接服务器调用本页内容 -->
<meta http-equiv="Cache-Control" content="no-cache"/><!-- 禁止浏览器从缓存中访问页面内容 -->
</head>
<card id="NewsShow" title="查看内容">
<p align="left">
</p>
</card>
</wml>
接下来,在<p align="left"> </p>之间加上新闻内容显示的相关代码:
<%
Dim ID,rs,i,typeID,content '定义变量
ID=int(request.QueryString("ID"))
Call openConn() '打开数据库
Set rs=conn.execute("Select typeID,title,content,comment From [NewsContent] where ID="& ID &"") '读取新闻内容表
If Not rs.eof Then
typeID=rs(0)
content=rs(2) '将新闻内容传给变量content
Response.Write (rs(1)&"<br/>=*=*=*=*=*=<br/>"&Replace(content,chr(13),"<br/>")) '将内容中的回车替换成换行
Else
typeID=1
Response.Write ("该新闻不存在")
End If
Call rsClose()
Call ConnClose()
%>
保存文件,打开Opera,输入地址:http://localhost/NewsShow.asp?ID=2,将可以看到如图4-1所示的界面内容。(由于文章篇幅比较长,截
图只截取了上面部分),
/upimg/070428/11MH121D101H15.gif

很明显,这样的文章在电脑上都显得过长,更不用说在手机上看了,所以,接下来,我们将要对文章进行分页!
在content=rs(2)和Response.Write (rs(1)&"<br/>=*=*=*=*=*=<br/>"&Replace(content,chr(13),"<br/>"))插入以下代码:
Dim gopage,PS,conlen,page,pagecount,ys,startc
PS = 300
conlen=len(content) '获取内容的长度(字数)
page=request.QueryString("page")
if page<=0 or page="" then page=1
pagecount=cint(conlen/PS) '计算出页数(记住,cint是对数值变量四舍五入取整,这也直接关系到下面余数加多一页的问题)
ys=conlen mod PS '取余数
if ys<=PS/2 and ys>0 then
pagecount=pagecount+1 '当余数大于内容长度的一半并余数大于0的时候,页数加1(因为上面取页数的时候是四舍五入,所以这里把PS除于2)
end if
startc=PS*(page-1)+1 '计算出每页截取字符号的位置
content=mid(content,startc,PS) '节取内容
再刷新地址:http://localhost/NewsShow.asp?ID=2 可以看到内容已经被截取,如4-2所示。
/upimg/070428/11MH121D101H15.gif
接下来,自然就要来添加翻页链接了。在Response.Write (rs(1)&"<br/>=*=*=*=*=*=<br/>"&Replace(content,chr(13),"<br/>")和Else
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一篇:
CSS+DIV:让文本字符环绕在图片周围 下一篇:
用相对定位和负向移动完成图片象框阴影
【文章评论】
【收藏本文】
【推荐好友】
【打印本文】
【我要投稿】 【论坛讨论】