个人认为WapDisplayer模拟效果比较好,跟PDA差不多。UP.SDK.4.0 有一个Phone Information 控制台窗体,用来显示运行过程的请求信息,对开发人员比较有用。
之前用Nokia WAP Toolkit 2.0演练表单,各种类型的表单演练完成后,当然就想用wap访问数据库了。因为之前没做过wap网站,感觉很神秘,手机要能访问,那启不是很难.后来才发现有web开发经验的朋友,做wap开发是很容易的啦。
1. 表单练习 (wml)
2. 数据库访问(asp.net)
数据库编程类似于asp和ajax等,表单用wml来做:
搜索界面,输入关键字:
< %@ Page Language ="C#" AutoEventWireup ="true" CodeFile ="Default.aspx.cs" Inherits ="_Default" Src ="~/Default.aspx.cs" % >
<! DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapfourm.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 ="Search" title ="产品搜索_七星购物" >
< p >
产品搜索 < br />
请输入关键字: < input name ="KeyWord" type ="text" value ="" emptyok ="false" />< br />
< do type ="accept" label ="搜索" >
< go href ="Search.aspx" method ="post" accept-charset ="gb2312" >
< postfield name ="KeyWord" value ="$(KeyWord)" />
</ go >
</ do >
</ p >
</ card >
</ wml >
取得关键字,根据关键字搜索产品:
< %@ Page Language ="C#" AutoEventWireup ="true" CodeFile ="Search.aspx.cs" Inherits ="Search" % >
<! DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapfourm.org/DTD/wml_1.1.xml" >
< wml >
< head >
< meta http-equiv ="Cache-Control" content ="max-age=3600" />
</ head >
< template >
<!-- Template implementation here. -->
< do type ="prev" label ="返回" name ="back" >< prev /></ do >
</ template >
< card id ="Search" title ="产品列表_七星购物" >
< p >
< %-- <input name ="KeyWord" type ="text" value ='<%=KeyWord % > '/> < br /> --%>
< %=myContent % >
< br />
< a title ="确定" href ="Default.aspx" > 重新搜索 </ a >
</ p >
</ card >
</ wml >
<%=myContent %> 是本文的重点,但却不新鲜,新手肯定有点理解不了,但用ASP.NET开发wap就是这么简单,
myContent :就是用来构建产品列表的变量
在Search.aspx的Page_Load事件里,跟asp.net开发一样编写代码就好了!当然,输出的myContent要符合wml语法,想要什么,就构造什么样的格式,搞定!!
protected string myContent = "" ;
protected string KeyWord = "" ;
protected void Page_Load( object sender, EventArgs e)
{
this .Response.ContentType = " text/vnd.wap.wml " ;
KeyWord = Request[ " KeyWord " ];
if (KeyWord == null || KeyWord.Trim() == "" )
{
myContent += " 请输入搜索关键字! " ;
return ;
}
string SQL = " SELECT * FROM T_Product WHERE F_Name Like '% " + KeyWord + " %' " ;
SqlDataReader sdr = Database.ExecuteReader(CommandType.Text, SQL);
// 如果没有数据,则提示
if ( ! sdr.HasRows)
{
myContent = " 没有相关产品!<br/> " ;
return ;
}
// 如果有数据,将记录全部输出
int i = 0 ;
while (sdr.Read())
{
i ++ ;
// 产品链接
myContent += " <a title=" " + sdr[ " F_Name " ].ToString() + " " href="Detail.aspx?ID= " + sdr[ " F_ID " ].ToString() + " &KeyWord= " + Server.UrlEncode(KeyWord) + " "> " + i + " . " + sdr[ " F_Name " ].ToString() + " </a><br/> " ;
}
myContent = " 总共搜索到 " + i + " 个产品<br/> " + myContent;
sdr.Close();
}
===============================================
WapDisplayer
说明:
WapDisplayer V1.5是一款利用M3Gate控件开发的中文WAP浏览器,除了保留原英文版M3Gate Version 1.2 beta的全部功能外,并在原有基础上增加了很多常用的辅助功能。它可以让用户不需要透过无线装置,直接在PC中连上Internet观看WAP网页的内容。
WapDiplayer V1.5完全兼容M3Gate V1.2,如果您乐意使用M3Gate浏览器,请使用WapDiplayer所安装目录下的M3Gate.exe程序。
================================================
UP.SDK.4.0
说明:
UP.SDK是一个wap开发工具包,它要求你取得开发认证,并让你在弹出的对话框里输入用户名和口令,这里我们单击 cancel取消即可。在使用之前有一项设置是必需的。单击菜单 Settings/Device Settings,在Language(语言)下拉列表里,点选(zh)Chinese;在Charset(编码)下拉列表点先 Simplified Chinese;单击Font按钮来设置显示文本的字体样式。设置完毕后,单击OK。 这样你就能正常访问中文wap 站点了。
如果你对UP.Simulator的手机面板不太满意,可以单击菜单File/Open Configuration...在开启文件来对框列出了6个面板文件,点选其中一个,单击打开,手机面板就改变了。
UP.Simulator 的使用比较简单,在模拟器窗口的Go地址栏输入你想访问wap站点的地址,然后按下键盘的回车。当屏幕左下角显示OK时,表示该wap站点下载完毕。利用UP.Simulator访问wap站点就如同用wap手机访问一样,你可能利用模拟手机面板键盘和电脑键盘进行wap站点的浏览操作。