【第四课】手把手教你用ASP开发WAP网站
时间:[2007-11-2 17:27:38] 作者:作者不详
在这一课,我们将探讨内容显示与内容分页的问题。
这也是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"> WAP业界动态
<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所示的界面内容。 本文章首发:http://www.7wap.cn,WAP资讯网
(由于文章篇幅比较长,截图只截取了上面部分),很明显,这样的文章在电脑上都显得过长,更不用说在手机上看了,所以,接下来,我们将要对文章进行分页!
在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所示。
接下来,自然就要来添加翻页链接了。在Response.Write (rs(1)&"<br/>=*=*=*=*=*=<br/>"&Replace(content,chr(13),"<br/>")和Else之间插入以下代码:
gopage="NewsShow.asp?ID="& ID &"&" '定义翻页地址变量
if pagecount>1 then response.Write "<br/>=*=*=*=*=*=<br/>当前为第"&page&"/"&pagecount&"页<br/>"
if page-pagecount<0 then response.write "<a href="""&gopage&"page="&page+1&""">下一页-</a>"
if page>1 then response.write "<a href="""&gopage&"page="&page-1&""">上一页-</a>"
if pagecount>2 then response.write "<br/><input name=""page"" format=""*N"" value="""&page&""" type=""text""
maxlength=""5""/><br/><a href="""&gopage&"page=$(page)"">[跳转到该页]</a>"
保存文件,刷新地址:http://localhost/NewsShow.asp?ID=2 可以看到分页情况、翻页链接和输入框,点击“下一页”,可以看到如图4-3所示
的内容页面,内容被截断分页显示,在看看地址栏显示的是:http://localhost/NewsShow.asp?ID=2&page=2,多了page=2。
最后,加上换行符号和返回连接,内容显示的页面也就完成了!
<br/>=*=*=*=*=*=<br/>
<a href="NewsList.asp?ID=<%=typeID%>">返回新闻列表</a><br/>
<a href="index.asp">返回网站首页</a><br/>
保存文件,再传到空间里,用手机访问测试一下吧! WAP资讯网
这也是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"> WAP业界动态
<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"))
文章来源:www.7wap.cn,WAP资讯网
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所示的界面内容。 本文章首发:http://www.7wap.cn,WAP资讯网
(由于文章篇幅比较长,截图只截取了上面部分),很明显,这样的文章在电脑上都显得过长,更不用说在手机上看了,所以,接下来,我们将要对文章进行分页!
在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是对数值变量四舍五入取整,这也直接关系到下面余数
文章来源:www.7wap.cn,WAP资讯网
加多一页的问题)
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所示。
文章来源:www.7wap.cn,WAP资讯网
接下来,自然就要来添加翻页链接了。在Response.Write (rs(1)&"<br/>=*=*=*=*=*=<br/>"&Replace(content,chr(13),"<br/>")和Else之间插入以下代码:
gopage="NewsShow.asp?ID="& ID &"&" '定义翻页地址变量
if pagecount>1 then response.Write "<br/>=*=*=*=*=*=<br/>当前为第"&page&"/"&pagecount&"页<br/>"
if page-pagecount<0 then response.write "<a href="""&gopage&"page="&page+1&""">下一页-</a>"
if page>1 then response.write "<a href="""&gopage&"page="&page-1&""">上一页-</a>"
if pagecount>2 then response.write "<br/><input name=""page"" format=""*N"" value="""&page&""" type=""text""
maxlength=""5""/><br/><a href="""&gopage&"page=$(page)"">[跳转到该页]</a>"
保存文件,刷新地址:http://localhost/NewsShow.asp?ID=2 可以看到分页情况、翻页链接和输入框,点击“下一页”,可以看到如图4-3所示
的内容页面,内容被截断分页显示,在看看地址栏显示的是:http://localhost/NewsShow.asp?ID=2&page=2,多了page=2。
最后,加上换行符号和返回连接,内容显示的页面也就完成了!
<br/>=*=*=*=*=*=<br/>
<a href="NewsList.asp?ID=<%=typeID%>">返回新闻列表</a><br/>
<a href="index.asp">返回网站首页</a><br/>
保存文件,再传到空间里,用手机访问测试一下吧! WAP资讯网
【声明】本站刊载的《【第四课】手把手教你用ASP开发WAP网站》一文如果有侵害你权益的情况,请联系我们。我们将及时采取措施。
QQ:44637339 Email:just6@163.com Tel:13355163107 Lining studios