2

我目前正在开发一个必须针对移动设备(尤其是平板电脑和智能手机)进行优化的 ASP.NET MVC 网上商店。这是给我们工作中的客户的,但我正在家里对 ASP.NET MVC 设备检测进行一些研究。我用它创建了一个小应用程序,它似乎工作得很好。我喜欢通过为每种设备类型使用不同的视图来很好地分离所有内容的方式。

我现在正在努力解决的问题是,是否也为该网店使用ASP.NET MVC 设备检测,或者使用客户端响应框架,如 Bootstrap。我正在为这个决定而苦苦挣扎,因为 ASP.NET MVC 设备检测对我来说似乎并不真正“成熟”。在互联网上找不到太多关于它的信息,默认情况下它只支持移动视图,不支持平板电脑视图或其他任何东西。

我对设备检测犹豫不决的另一个原因是,带有移动设备用户代理字符串的标准 ASP.NET MVC 库可能不会更新,所以当新设备问世时(它们确实如此),网上商店正在显示桌面视图,而我们为移动设备提供了一个很好的优化视图。当然,也有用于最新设备检测的服务,例如51Degrees.mobile,但它们非常昂贵。(免费版本不支持检测平板电脑)
我找到了一种方法,可以使用本文中的示例为平板电脑创建不同的视图但该示例使用正则表达式来检测智能手机和平板电脑,这当然是有时也过时了。

另一方面,我们有客户端响应解决方案(Bootstrap)。客户端响应式站点的缺点是不同的视图模式没有分开。HTML 未针对设备进行优化。该网站只是一种“加入”桌面版本,浏览器使用 CSS 媒体查询调整 HTML 页面。代码不像设备检测解决方案那样干净。

快速的问题:是否有任何免费或更便宜的方式来使用 ASP.NET MVC 设备检测?随着时间的推移,它会满足我们的需求吗?它会不会在某个时候过时?

在这种情况下,我很高兴听到您认为最好的选择。提前致谢。

4

2 回答 2

3

响应式设计的全部意义在于它是独立于设备的。据我所知,MVC 中的设备检测始于一些相当陈旧的 IIS Browsercap 技术,该技术已经过时了。

现在 Android 手机的尺寸范围从 4 英寸到 6.5 英寸甚至更大,有太多的外形尺寸跟不上。使用响应式设计框架(例如 Bootstrap)将允许您定位分辨率,而不是设备。大多数现代智能手机和移动浏览器(甚至是 IE!)都会始终如一地呈现响应式设计。

于 2014-05-28T19:21:33.403 回答
1

您应该将设备检测与响应式设计结合使用。浏览器宽度小于 X 像素这一事实并不意味着用户在移动设备上,或者他们更喜欢查看网站的移动版本。

使用这两种检测方法可以为用户提供更多选择,更准确地提供最佳体验。

ismobiledevice 随 .net 一起提供,可免费用于您的 asp.net mvc 应用程序。

http://msdn.microsoft.com/en-us/library/system.web.configuration.httpcapabilitiesbase.ismobiledevice(v=vs.110).aspx

于 2014-05-28T19:25:26.067 回答