在我前面那篇文章《如何结合使用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>
好,这样就构成了一个旗帜广告的雏形,下面就是完善它了,只要在任何你想要添加广告的页面,加入一条
<!– #include file=”bannerad.asp” –>就可以了。
