如何知道asp.net网站是从移动设备还是从系统/笔记本电脑/机器(windows,mac等)访问

时间:2013-11-05 11:41:31

标签: c# asp.net iphone browser mobile-browser

我使用asp.net web developer 2010开发了一个网站。如果从移动浏览器访问该网站,我想重定向到不同的页面。而且,windows / mac / linux等用户的功能也不同。

我该怎么做?

我在一些论坛中提到了一些帖子,据说我需要依赖第三方库。

如何在没有任何第三方库的情况下实现此目的?

任何人请帮助我。

感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:6)

Request.Browser对象属性可能就在它所在的位置,这些都是可能对您有用的选项:

Request.Browser.IsMobileDevice
Request.Browser.MobileDeviceManufacturer
Request.Browser.MobileDeviceModel
Request.Browser.ScreenPixelsWidth
Request.Browser.SupportsXmlHttp

您是否有理由避免使用第三方组件?

我们目前通过51Degrees.mobi使用WURFL设备数据库 - 效果非常好。

答案 1 :(得分:1)

您可以在asp.net中使用useragent来验证请求来自移动设备还是桌面设备。

protected override void OnInit(EventArgs e)
        {
            string userAgent = Request.UserAgent;
            if (userAgent.Contains("BlackBerry")
              || (userAgent.Contains("iPhone") || (userAgent.Contains("Android"))))
            {
                //add css ref to header from code behind
                HtmlLink css = new HtmlLink();
                css.Href = ResolveClientUrl("~/mobile.css");
                css.Attributes["rel"] = "stylesheet";
                css.Attributes["type"] = "text/css";
                css.Attributes["media"] = "all";
                Page.Header.Controls.Add(css);
            }
        }