我目前正在开发一个必须针对移动设备(尤其是平板电脑和智能手机)进行优化的 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 设备检测?随着时间的推移,它会满足我们的需求吗?它会不会在某个时候过时?
在这种情况下,我很高兴听到您认为最好的选择。提前致谢。