Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->网站设计 ->网页制作 ->正文

【第四课】内容显示与内容分页(继续学习)

来源:Linuxdby.com 作者:Webmaster 时间:2007-04-28 点击: [收藏] [投稿]

                                  第四课:内容显示与内容分页


在这一课,我们将探讨内容显示与内容分页的问题。
这也是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:让文本字符环绕在图片周围   下一篇:用相对定位和负向移动完成图片象框阴影

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号