wwwblogs/yjmyzz/archive/2010/04/09/1708235.html
自从VS2010 RC出来以后,就顺便把机器重做了,重装的时候特意没安装VS2008,全线过渡到VS2010和4.0,但今天有一小WAP项目,才意识到VS2010貌似不支持WAP窗体,按照记忆参考以前VS2008的做法(见:wap开发体会),下载模板后,一时眼花即没到新建Mobile Web窗体的地方,于是又把VS2008装回来了,等到把VS2008搞定后,怀着一颗不死之心又重新到VS2010里瞅了瞅,发现其实也可以的(哎,真想抽自己),见下图:
项目上右击-->Add-->New Item
注意:如果您选择Visual C#下的Web节点,是看不到项的,必须把节点定位在Visual C#根节点,才能看到久违的Mobile Web Form
但有一点要注意:如果项目的 framework版本采用默认的4.0版本,会报错:
解决办法:在项目属性里,把版本设置为3.5即可
后记:本文基本上没啥技术含量(水文一篇,呵),发到首页希望能帮到遇到同类问题的朋友,少走弯路。
wwwblogs/yjmyzz/archive/2009/02/18/1392902.html
前二天因工作需要,上头要求做一个wap版的网站,到网上学习了一天,弄了个beta版出来(wap.luckty 功能很一般),整理几点经验如下:
1.wap网站用的是wml标识,非html,而且传统的javascript也不再适用,而是wmlscript,所以第一次接触的朋友们要先大概了解一下这个东东,学习资源如下:
www.w3school/wap/wap_intro.asp --wml学习
www.w3school/wmlscript/index.asp --wmlscript学习
2.一款好的wap浏览器,普通浏览器并不能直接浏览wap网站,所以得一个模拟器,以下是几款常用的:
a.opera 9以上版本(但好象不支持wmlscript)
b.openwave
c.winwap
d.m3gate (个人感觉这个最好用,不过这玩意儿现在升级了,好象不太好使了,建议如果要用这个,旧版本的测试)
b.openwave
c.winwap
d.m3gate (个人感觉这个最好用,不过这玩意儿现在升级了,好象不太好使了,建议如果要用这个,旧版本的测试)
3.搭建测试环境(以IIS为例)
wap网站跟常规网站的不同在于,需要增加几个mime类型的支持:
在iis的站点mime类型里,把.wml,.wmls,.wmlc,.wmlsc,.wbmp这五类后缀添加进去就可以了
wap网站跟常规网站的不同在于,需要增加几个mime类型的支持:
在iis的站点mime类型里,把.wml,.wmls,.wmlc,.wmlsc,.wbmp这五类后缀添加进去就可以了
4.vs2008的配置
vs2005本来可以直接创建"Mobile WebForm"的,但到了vs2008反而将过一功能去掉了,所以需要手动下载"移动web窗体的模板",详细可参考
wwwblogs/3stones/archive/2009/01/05/1351969.html 一文
vs2005本来可以直接创建"Mobile WebForm"的,但到了vs2008反而将过一功能去掉了,所以需要手动下载"移动web窗体的模板",详细可参考
wwwblogs/3stones/archive/2009/01/05/1351969.html 一文
5.为方便测试,还需要强制让vs输出wml,在fig中把下面这节内容放在<system.we
b>之后
<browserCaps>
<result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<use var="HTTP_USER_AGENT"/>
preferredRenderingType = "wml11"
preferredRenderingMime = "text/vnd.wap.wml"
preferredImageMime = "image/vnd.wap.wbmp"
</browserCaps>
另外,因为wap开发中,很多常规控件都不能用,所以只能用一些最基本的移动控件,除此之外,其它开发跟常规webForm无异
要注意的地方:
1.传递多个参数时,不能用xxx.aspx?a=1&b=2 ,而要改成xxx.aspx?a=1&b=2 ,否则在opera上无法解析
2.如果在MobilePage对应的aspx中,直接用<%="你的内容"%>,最终运行时将得不到任何输出,正确的办法是创建一个Mobile User Control,在控件里就可以这样用了,然后再把该控件放到页面里
3.Mobile控件中,没有Repeater控件,只能用Mobile:List控件来代替,但是这个东西,我个人觉得并不好用,还不如在后台直接生成字符串,然后利用2中的办法,放到自定义控件里输出
4.几乎每个Mobile控件,都有一个BreakAfter属性,默认为true,即每个控件后面会自动添加<br />标记,如果您不需要换行,把这个属性设置为false
vs2008开发wap网站(一)
首先新创建个项目,打开VS2008,新建个网站项目,我们添加新项时会发现以前在vs2003或vs2005中的“移动Web窗体”项没有了,下图为vs2003和2005中的。
vs2008中就没有“移动Web窗体”这一项,这是因为微软并未提供相应的模板。这确实很令人疑惑,百度了下网上的说法:据Microsoft-Visual Web Developer的团队项目经理Omar Khan的说法,这是因为Visual Studio 2008中的设计视图是基于一个全新的架构设计的, 所以暂时这一部分模板还没有跟上,所以ASP.NET mobile controls并不能显示。但是这多少也反映了微软是不是也在考虑今后(一方面也随着IEmobile的日趋成熟)可能将MobileWebSite的开发归并到ASP.NET Application中呢?
不过还好,Omar Khan同时也给出了他的团队开发的几个模板插件,用于在ASP.NET Web Site 和 ASP.NET Web Application的项目中 ,模板可以下载(点击下载)。
不过还好,Omar Khan同时也给出了他的团队开发的几个模板插件,用于在ASP.NET Web Site 和 ASP.NET Web Application的项目中 ,模板可以下载(点击下载)。
解压后先读各个文件夹下面的(其实就是说需要把他们铐到\My Documents\Visual Studio 2008\Templates\ItemTemplates下的两个文件夹下).有了这几个模板,在ASP.NET Web Site 和 ASP.NET Web Application的项目中再点击Add new Item即可看到相应的模板这样可以从“我的模板”里选择。如图:
还有一点还是很遗憾的是,尽管有了模板,但是由于VS2008的Designer架构进行了较大改进,微软的vs2008目前并不支持移动窗体的设计模式,该模板只能在Source code的模式下进行编辑,不能再设计模式下编辑。
接着我们就可以进行界面的搭建与代码的编写,与普通的Asp Web 页面没什么区别。
这是首页:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default2" %>
<%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %>
<html xmlns="/1999/xhtml" >
<body>
<mobile:Form id="Form1" runat="server" Title="一线">
<mobile:Image ID="Image1" Runat="server" ImageUrl="~/image/logo.gif"></mobile:Image>
<mobile:Link ID="Link1" Runat="server" BreakAfter="False" NavigateUrl="booklist.aspx">快速工作</mobile:Link>
<mobile:Label ID="Label2" Runat="server" BreakAfter="False">||</mobile:Label>
<%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %>
<html xmlns="/1999/xhtml" >
<body>
<mobile:Form id="Form1" runat="server" Title="一线">
<mobile:Image ID="Image1" Runat="server" ImageUrl="~/image/logo.gif"></mobile:Image>
<mobile:Link ID="Link1" Runat="server" BreakAfter="False" NavigateUrl="booklist.aspx">快速工作</mobile:Link>
<mobile:Label ID="Label2" Runat="server" BreakAfter="False">||</mobile:Label>
<mobile:Link ID="Link4" Runat="server" BreakAfter="False" NavigateUrl="booklist.aspx">VIP通道</mobile:Link>
<mobile:Label ID="Label3" Runat="server" BreakAfter="False">||</mobile:Label>
<mobile:Link ID="Link2" Runat="server" BreakAfter="False" NavigateUrl="booklist.aspx">注册会员</mobile:Link>
<mobile:Label ID="Label4" Runat="server" BreakAfter="False">||</mobile:Label>
<mobile:Link ID="Link3" Runat="server" BreakAfter="True" NavigateUrl="booklist.aspx">登陆</mobile:Link>
<mobile:Label ID="Label25" Runat="server" ForeColor="Red" Wrapping="Wrap">本站资源所有免费!</mobile:Label>
<mobile:Label ID="Label16" Runat="server" Wrapping="Wrap">版权所有:一线人才</mobile:Label>
<mobile:Label ID="Label15" Runat="server">www.ywle</mobile:Label>
<mobile:Label ID="Label3" Runat="server" BreakAfter="False">||</mobile:Label>
<mobile:Link ID="Link2" Runat="server" BreakAfter="False" NavigateUrl="booklist.aspx">注册会员</mobile:Link>
<mobile:Label ID="Label4" Runat="server" BreakAfter="False">||</mobile:Label>
<mobile:Link ID="Link3" Runat="server" BreakAfter="True" NavigateUrl="booklist.aspx">登陆</mobile:Link>
<mobile:Label ID="Label25" Runat="server" ForeColor="Red" Wrapping="Wrap">本站资源所有免费!</mobile:Label>
<mobile:Label ID="Label16" Runat="server" Wrapping="Wrap">版权所有:一线人才</mobile:Label>
<mobile:Label ID="Label15" Runat="server">www.ywle</mobile:Label>
</mobile:Form>
</body>
</body>
</html>
代码完成后,就可以通过模拟设备进行调试了。从vs2008的“工具”-“设备仿真管理器”中选择一款模拟器,右键选择“连接”,等模拟器运行后,再右键选择“插入底座”,就会与ActiveSync连接。忘了说,系统需要先安装微软的ActiveSync,这是用来连接计算机与移动设备的软件。现在的版本是4.5visual studio和vs code的区别。下载地址:www.microsoft/downloads/details.aspx?FamilyID=cabdb564-ae94-4c02-abbc-cdece61231d4&DisplayLang=zh-cn
ActiveSync会自动同步移动设备与计算机
如果一切正常,就可以在模拟器里看到编写的页面了。
下面是登陆的cs代码
最后强调个比较重要的地方,这只是在虚拟器中访问,输出的都是html代码,要在手机上访问就需要强制输出wml,将会详细介绍。[url]wwwblogs/3stones/archive/2008/12/10/1351971.html[/url]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论