wwwblogs/yjmyzz/archive/2010/04/09/1708235.html
自从VS2010 RC出来以后,就顺便把机器重做了,重装的时候特意没安装VS2008,全线过渡到VS20104.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 (个人感觉这个最好用,不过这玩意儿现在升级了,好象不太好使了,建议如果要用这个,旧版本的测试)
3.搭建测试环境(IIS为例)
wap网站跟常规网站的不同在于,需要增加几个mime类型的支持:
iis的站点mime类型里,把.wml,.wmls,.wmlc,.wmlsc,.wbmp这五类后缀添加进去就可以了
4.vs2008的配置
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,新建个网站项目,我们添加新项时会发现以前在vs2003vs2005中的移动Web窗体项没有了,下图为vs20032005中的。
        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的项目中 ,模板可以下载(点击下载)。 
        解压后先读各个文件夹下面的(其实就是说需要把他们铐到\My Documents\Visual Studio 2008\Templates\ItemTemplates下的两个文件夹下).有了这几个模板,在ASP.NET Web Site  ASP.NET Web Application的项目中再点击Add new Item即可看到相应的模板这样可以从我的模板里选择。如图: 
 
还有一点还是很遗憾的是,尽管有了模板,但是由于VS2008Designer架构进行了较大改进,微软的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>
<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:Form>
</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小时内删除。