【发布时间】:2016-01-01 19:26:30
【问题描述】:
如何在 Asp.Net 5 MVC 6 中检测用户是否在移动设备上?
在之前的Asp MVC 版本中可以这样:
Request.Browser.IsMobileDevice
问题是Asp.Net 5 没有使用命名空间System.Web。
控制器动作中的Request 变量现在是Microsoft.AspNet.Http.HttpRequest 类型,旧版本是System.Web.HttpRequestBase 类型。
Microsoft.AspNet.Http.HttpRequest 不包含 Browser 属性。我尝试浏览其他属性,但没有找到任何东西。
编辑:应要求提供一些证明Asp.Net 5 不再使用System.Web 的资源。
来自Asp.Net documentation
ASP.NET 5 不再基于 System.Web.dll,而是基于 在一组细粒度且经过精心设计的 NuGet 包上,您可以 优化您的应用,以满足您的需求。
【问题讨论】:
-
为什么现在不推荐使用 System.Web?你有这方面的文件吗?
-
@MahbuburRahman - 它本身并没有被弃用,它是一个为移动和云构建的新平台。随着整个设计(或大部分设计/引擎)的更改,您在以前版本的 ASP.NET 中所拥有的不一定不再存在于 ASP.NET 5 中。- 快速阅读(虽然有点过时):@987654323 @
-
@MahbuburRahman 正如艾哈迈德所说,它并没有真正被弃用,Asp.Net 只是不再基于它。我已经更改了措辞以消除混乱。
-
这不是一个真正的答案,但也许你应该考虑一下为什么你需要这样做。如果是针对 UI,您可以使用 Twitter Bootstrap 等响应式框架来解决这个问题。那里不需要检测移动设备。
-
@ashes999 感谢您的建议。在这种特殊情况下,我需要它,因为移动应用程序应该接收与桌面应用程序不同的数据。
标签: c# asp.net-core asp.net-core-mvc