使用ASP.net检测iPad

使用ASP.net检测iPad,asp.net,asp.net-mvc,mobile,51degrees,Asp.net,Asp.net Mvc,Mobile,51degrees,我想在ASP.net中检测移动设备是否为平板电脑(iPad) 我看过51degrees项目,但免费版本中没有检测平板电脑的功能——而且由于我们向100多个客户分发了ASP.net解决方案,我们无法为所有客户购买51degrees许可证 51度是否有免费或开源的替代方案?或者,较新版本的MVC(4?)是否会比普通的IsMobileDevice()提供更多的详细信息 谢谢, 康拉德你不需要“检测iPad”。只需使用媒体查询即可支持iPad,因为iPad附带的Safari浏览器已经能够理解CSS3:

我想在ASP.net中检测移动设备是否为平板电脑(iPad) 我看过51degrees项目,但免费版本中没有检测平板电脑的功能——而且由于我们向100多个客户分发了ASP.net解决方案,我们无法为所有客户购买51degrees许可证

51度是否有免费或开源的替代方案?或者,较新版本的MVC(4?)是否会比普通的IsMobileDevice()提供更多的详细信息

谢谢, 康拉德

你不需要“检测iPad”。只需使用媒体查询即可支持iPad,因为iPad附带的Safari浏览器已经能够理解CSS3:

你最好的选择是使用HTML5样板,因为它也为iPad修复了一些其他东西。使用Modernizer进行特征检测;它附带了HTML5样板


您可以请求用户代理并检查它是否包含类似的“ipad”

bool isIpad = Request.UserAgent.ToLower().Contains("ipad");

这里有一个完整的解决方案。这是一个使用ASP.NET MVC展示响应性设计的网站;有一篇文章,教程和完整的项目下载源代码


我们现在使用旧的移动设备浏览器文件:

并使用我们自己的浏览器文件进行扩展,如本解决方案中所述:


现在我们甚至可以定义自己的参数来检测,例如,internet explorer的兼容模式,或者将iPad定义为非移动设备。

较新版本将包括Modernizer。设备检测永远不会成功。新设备的引入过于频繁。改为使用功能检测和媒体查询。我们需要对移动设备进行服务器端检测,因为我们根据智能手机、平板电脑、台式机的不同路由到完全不同的页面。。。因此,媒体查询很适合以另一种格式显示相同的内容,但不适合提供完全不同的内容。您可以使用CSS轻松显示不同的内容,这是更可靠的方式。使用display:block和display:none切换div可见性。代理嗅探通常会在您最需要的时候让您失望。我知道-但我们为手机和台式机提供了完全不同的导航结构。在桌面的一个页面上显示多个内容会导致手机的多个不同连接的页面。。。媒体询问很好,但不是瑞士军刀;-)然后使用jQuery进行检测,并将值发送回服务器进行重定向:
bool isIpad = Request.UserAgent.ToLower().Contains("ipad");