日期:2014-02-06 浏览次数:21027 次
在我前面那篇文章《如何结合使用WML和ASP技术编写动态手机页面》,我介绍了如何使用ASP产生动态的WML网页。在本文中,我想进一步的介绍如何利用ASP开发动态的WML网页,及其应用。其实细想一下,可以使用服务器端编程(例如ASP)开发很多很多应用程序用在WAP手机上,只要把它们直接生成WAP手机能识别的WML网页就可以了。比如说在本文中要介绍的,如何为WAP等无线设备开发一个循环式的旗帜广告系统。
图一显示了一个旗帜广告的示意图,这是在一个 WAP 站点上显示旗帜广告的一个可能的方法。
使用这种方法,你就可以在你的网站上加入循环式的旗帜广告,就能给那些使用无线上网冲浪的用户一个机会,让他们了解到更快的广告信息,只需他们轻轻一按电话左边的按钮就可以了,不但能够方便用户而且能够增加网站的收入。
假设我们想要创建一个循环旗帜广告,并把它放在任何页面的顶部,使用ASP和WML来创建这个页面。为了使这个系统更加具有可伸缩性,并更加贴近现实,我想把将要显示的广告信息存入数据库中,然后从数据库中抽取出所有相关的信息,从而使产生的内容保持动态变化的。然后将随机从数据库选择一个广告和它所指向的链接,这样才能做到使广告不断的循环出现。每次载入一个页面的时候,就将会出现一个新的广告。
好下面我先说一下,建立广告数据库。为了简化,我使用了Microsoft Access 数据库,表名为ADbase,其中有主键bannerid(用来说明旗帜广告名),bannertext(显示于手机上的广告词,也就是旗帜广告的实际的正文消息) 和 bannerURL(连接广告的链接)当然了,你也可以在网页中加入一些图形,不过为了简化,我将省掉这些图形。建好的库如下显示。
<%@Language=VBScript
' 定义用于产生随机数的最大值
MaxNoAds = 10
' 设置文档类型
Response.ContentType = "text/vnd.wap.wml"
' 从数据库中随机选择一个广告
Randomize(Cbyte(Left(Right(Time(),5),2)))
AdID=(Int((MaxNoAds-1+1) * Rnd + 1))
' 从数据库中把这条广告取出
set objConn = Server.CreateObject("adodb.connection")
objConn.Open "dsn=adserver;uid=adserver"
sql = "SELECT * from ADbase where bannerid = '" & AdID & "'"
set rsAd = objConn.Execute(sql)
' 显示WML内容
%>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="bannerad" title="广告">
<p>
<a href="<%=rsAd("bannerURL")%>"> <%=rsAd("bannertext")%>
</p>
</wml>