Index视图的内容如下面的清单所示。
清单:Views\Mobile\Index.aspx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MVC Mobile Sample</title>
</head>
<body>
<div align="center"><img src="/images/mobile.jpg" width="60" height="70" /></div>
<div>
<h6>Manufacturer : <%= Request.Browser.MobileDeviceManufacturer %></h6>
<h6>Model : <%= Request.Browser.MobileDeviceModel%></h6>
<h6>Screen : <%= Request.Browser.ScreenPixelsWidth + " x " + Request.Browser.ScreenPixelsHeight %></h6>
<!--Apart from standard capability information provided by "Request.Browser object",
.NETMobileAPI provides more detailed information about the device capabilities. -->
<h6>Platform : <%= Mobile.Devices.MobileDevices.GetCapability(Request.UserAgent, "device_os")%></h6>
<h6>Browser : <%= Mobile.Devices.MobileDevices.GetCapability(Request.UserAgent, "mobile_browser")%></h6>
<h6>Jpg Image : <%= Mobile.Devices.MobileDevices.GetCapability(Request.UserAgent, "jpg")%></h6>
<h6>Png Image : <%= Mobile.Devices.MobileDevices.GetCapability(Request.UserAgent, "png")%></h6>
<h6>Gif Image : <%= Mobile.Devices.MobileDevices.GetCapability(Request.UserAgent, "gif")%></h6>
<!--Note: For more capabilities please refer to App_Data/Capabilities.xml file.-->
</div>
</body>
</html>
使用相同的方法为Nokia.aspx、Iphone.aspx和BlackBerry.aspx视图添加html代码。这些代码可以从本文附带的示例应用程序中找到(下载链接见后面)。
步骤6:使用Build菜单构建应用程序
步骤7:下载移动设备模拟器以测试web站点。
要想获得下载移动设备模拟器以测试网站的详细信息,请访问地址:http://www.51degrees.mobi/Products/MobileEmulators/tabid/87/Default.aspx。
结果:
当网站接受访问时,它会检查该访问是来自移动设备还是来自桌面/便携式计算机。如果访问是来自桌面/便携式计算机,那么将向其展示Views\Home\Index.aspx视图。如果访问来自一个移动设备,那么就像该设备展示专门为其做过优化的视图。比如,如果访问网站的移动设备为Nokia,那么就给它返回Views\Mobile\Nokia.aspx页面。
51Degrees.mobi能够提供访问网站的移动设备的详细信息,如制造商、模式、屏幕尺寸、所支持的图像格式等等,这些信息对于为不同的设备系列(Nokia、Iphone、Blackberry 等等)设计不同的ASP.NET MVC视图非常有用。

图11 根据设备性能信息为不同的设备加载不同的MVC视图
下载:
上面示例MVC应用程序的完整源代码下载地址为http://51degrees.mobi/Portals/mcro/External/Articles/MVCMobileDetect.zip。
结束语
如果您正在开发移动网站并努力应付移动设备的多样性的话,不妨借鉴一下本文介绍的方法2.1或者方法2.2。这不仅能减少开发时间,同时还可以使用设备数据为移动用户带来令人惊讶的用户体验。 这些方法都会极其迅速地检查网络转码器和设备。 方法2.1用到2.0及更高版本的.NET环境,它能够为现有站点并行开发移动网页,而无需进行任何升级。方法2.2需要用到MVC和3.5及更高版本的.NET环境,这允许使用微软公司的最新技术。