最近项目需要开发一套移动版的网站,最开始我想到开发一套WAP版的网站,但是一想现在都是3G的时代了,很多手机屏幕都很大,而且支持无线上网,WAP网站已经不符合现在的趋势了。而且VS2008默认是不带wap项目的开发模板,如果需要用VS2008来开发wap项目,可以从下面的地址来下载模板:http://www.ywle.com/down/ASPNETMobileTemplates.zip。具体的安装和使用可以在网上搜索一下。最终经过查阅资料和博客,我决定采用ASP.NET MVC来开发,视图引擎根据用户访问的手持设备来查找相应的视图。
首先从codeplex网站下载Mobile Device Browser File,地址:http://mdbf.codeplex.com/。这个文件里包含了很多型号的手机以及每种型号的浏览器支持什么版本的CSS,Javascript等。下载下来以后将它拷贝到ASP.NET MVC项目的App_Browsers文件夹下面。
然后新建一个类,来继承ASP.NET MVC默认的视图引擎WebFormEngine,重写他的FindView方法,该方法会根据访问的浏览器来选择相应的视图,代码如下: