1、快速上手wap网站开发快速上手wap网站开发 近来工作比较紧张,一直想写一些东西,无奈没有时间,现在开发的市移动wap论坛终于告一段落,现在将开发过程简单记录一下,以备日后参考,都是一些简单的使用过程,可为初次接触wap开发的提供一点点参考,高手可以忽略。 开发工具:vs2008 模拟器:vs自带仿真管理器 framework版本:2.0一。配置环境: vs2008中已经没有了新建wap的选项,所需的wap模板需要从网上下载: 下载地址: 模拟器可用openware((官方免费注册下载地址) pc 2003中的pocket pc 2003 se仿真器右键点解连接,然后再右键点击插入底座,运行后
2、即可使用,不过在仿真管理器中地址不要用local,要用本机ip地址。二。建立数据库: 数据库采用sqlserver,建立一个名为wapDB的数据库,如下图: 然后添加一个用户表userinfo,如下图: 为数据库添加一条记录,如下图: 建立表document,用来存储发布的文章,表结构如下图: 先为document表添加20条数据,用来显示,如下图: 至此,数据库建立完毕,下面我们将采用vs2008来具体开发。三。建立工程,开始开发: 首先,我们建立一个testWap的项目,如下图: 将新建项目默任生成的default.aspx删除,新建一个login.aspx的mobile web form
3、模板(在第一步环境配置中按照说明将ASPNETMobileTemplates.rar中的文件拷贝到各个文件夹后,就会在新建项目中最下面的模板中显示mobile模板了),如下图: 建立好以后,按照上述方法再添加一个index.aspx的文件。 至此,我们所需的文件已经全部建立完成,login.aspx用来登录,登录后到index.aspx页面,此页面用来分页显示document文章表中的内容,并且可以添加文章记录。(注意,做好网页后,需要在记事本中将我们刚才建立的login.aspx、index.aspx打开重新保存一下,保存编码改为utf-8,覆盖原文件即可,这样做是因为项目采用utf-8编码
4、,如果不这样的话,页面含有中文的话就会显示为乱码。),如下图: 然后开始编码,具体编码和中的编码过程一样,不同的就是换成了mobile控件,这里需要注意的vs下开发wap不支持可视化设计,我们只能在后台手工编码,当添加控件的时候,只要打上m就会出现你所需要的mobile控件,mobile控件的具体有哪些和都有什么属性请参考其他文档,日后若有时间,我会将mobile控件的使用说明详细介绍一下,这里给大家引荐一个网址,这里面有mobile控件的介绍和使用说明,我们这里只用到了objectlist控件和textbox、textview控件以及command、Label控件,command控件其实就是
5、button按钮,在mobile里叫command。 这里我们建立三个文件: login.aspx:登录页面 index.aspx:分页显示文章页面,带有快速发表 view.aspx:显示文章具体内容页面三个页面源代码:login.aspx 前台代码具体如下:1. 2. 3. 4. 5. 6. 7. 8. 登录窗口9. 10. 11. 用户名:12. 13. 密码:14. 15. 16. 登录17. 18. 19. 20. 21. login.aspx.cs 后台代码具体如下:1. usingSystem;2. usingSystem.Collections;3. usingSystem.Co
6、mponentModel;4. usingSystem.Data;5. usingSystem.Drawing;6. usingSystem.Web;7. usingSystem.Web.Mobile;8. usingSystem.Web.SessionState;9. usingSystem.Web.UI;10. usingSystem.Web.UI.MobileControls;11. usingSystem.Web.UI.WebControls;12. usingSystem.Web.UI.HtmlControls;13. usingSystem.Data.SqlClient;14. 1
7、5. namespacetestWap16. 17. publicpartialclasslogin:System.Web.UI.MobileControls.MobilePage18. 19. protectedvoidPage_Load(objectsender,EventArgse)20. 21. #region系统退出时将信息标签lbl_out赋值并且显示 22. if(SessionloginOutInfo!=null)23. 24. stringoutInfo=SessionloginOutInfo.ToString();25. this.lbl_out.Text=outInfo;
8、26. this.lbl_out.Visible=true;27. Session.Clear();28. 29. #endregion 30. 31. 32. / 33. /登录验证 34. / 35. / 36. / 37. protectedvoidButton1_OnClick(objectsender,EventArgse)38. 39. stringusername=this.tb_User.Text.Trim();40. stringuserpwd=this.tb_Pwd.Text.Trim();41. stringstrCon=DataSource=(local);Databa
9、se=wapDB;Uid=sa;Pwd=zxkj;42. stringstrSql=select*fromuserinfowhereuser_name=+username+anduser_pwd=+userpwd+;43. SqlConnectionconn=newSqlConnection(strCon);44. conn.Open();45. SqlDataAdapterda=newSqlDataAdapter(strSql,conn);46. DataSetds=newDataSet();47. da.Fill(ds);48. conn.Close();49. 50. introwCou
10、nt=ds.Tables0.Rows.Count;51. 52. if(rowCount0)53. 54. Sessionusername=ds.Tables0.Rows0user_name.ToString().Trim();55. Response.Redirect(index.aspx);56. 57. else58. 59. this.lbl_out.Text=用户名密码错误,请重新登录!;60. this.lbl_out.Visible=true;61. 62. 63. 64. index.aspx 前台代码具体如下:1. 2. 3. 4. 5. 6. 7. 8. 9. 文章列表10
11、. 11. 12. 13. 14. mobile:LinkRunat=serverText=NavigateUrl=ID=TitleNAME=TitleWrapping=Wrap15. 16. 17. 18. 19. 20. 21. 122. 123. 首页|上一页24. 尾页|下一页25. 26. 发布文章:27. 28. 29. 30. 发表退出31. 32. 33. 34. index.aspx.cs 后台代码具体如下:1. usingSystem;2. usingSystem.Collections;3. usingSystem.ComponentModel;4. usingSyste
12、m.Data;5. usingSystem.Drawing;6. usingSystem.Web;7. usingSystem.Web.Mobile;8. usingSystem.Web.SessionState;9. usingSystem.Web.UI;10. usingSystem.Web.UI.MobileControls;11. usingSystem.Web.UI.WebControls;12. usingSystem.Web.UI.HtmlControls;13. usingSystem.Data.SqlClient;14. 15. namespacetestWap16. 17.
13、 publicpartialclassindex:System.Web.UI.MobileControls.MobilePage18. 19. protectedvoidPage_Load(objectsender,EventArgse)20. 21. if(Sessionusername=null)22. 23. SessionloginOutInfo=登录时间到,请重新登录!;24. Response.Redirect(login.aspx);25. 26. this.lbl_uname.Text=欢迎您:+(string)Sessionusername;27. if(Sessionok!
14、=null)28. 29. this.lbl_error.Text=发表成功!;30. this.lbl_error.Visible=true;31. Sessionok=null;32. 33. if(!IsPostBack)34. 35. Bind();36. 37. 38. 39. privatevoidBind()40. 41. stringrPage=Request.QueryStringPage;42. intpage=1;43. if(rPage!=null)44. 45. try46. 47. page=int.Parse(rPage);48. 49. catch50. 51.
15、 page=1;52. 53. 54. Sessionpage=page;55. PagedDataSourceps=newPagedDataSource();56. stringstrCon=DataSource=(local);Database=wapDB;Uid=sa;Pwd=zxkj;57. stringstrSql=select*fromdocumentorderbydoc_iddesc;58. SqlConnectionconn=newSqlConnection(strCon);59. conn.Open();60. SqlDataAdapterda=newSqlDataAdapter(strSql,conn);61. DataSetds=newDataSet();62. da.Fill(ds);63. conn.Close();64. ps.DataSource=ds.Tables0.DefaultView;65. ps.AllowPaging=true;66. ps.PageSize=5;67. ps.CurrentPageIndex=page-1;68. this.lnk_top.Visible=true;69. this.lnk_pre.Visible=true;70. this.lnk_next.Visible=true;71.
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2