我使用 asp.net web developer 2010 开发了一个网站。如果从移动浏览器访问该网站,我想重定向到不同的页面。并且,为 windows/mac/linux 等用户提供不同的功能。
我怎样才能做到这一点?
我在一些论坛上引用了一些帖子,据说我需要依赖第三方库。
如果没有任何第三方库,我怎么能实现这个?
任何人请帮帮我。
任何帮助表示赞赏。谢谢!!
我使用 asp.net web developer 2010 开发了一个网站。如果从移动浏览器访问该网站,我想重定向到不同的页面。并且,为 windows/mac/linux 等用户提供不同的功能。
我怎样才能做到这一点?
我在一些论坛上引用了一些帖子,据说我需要依赖第三方库。
如果没有任何第三方库,我怎么能实现这个?
任何人请帮帮我。
任何帮助表示赞赏。谢谢!!
Request.Browser 对象属性可能就在它所在的位置,这些都是可能对您有用的选项:
Request.Browser.IsMobileDevice
Request.Browser.MobileDeviceManufacturer
Request.Browser.MobileDeviceModel
Request.Browser.ScreenPixelsWidth
Request.Browser.SupportsXmlHttp
您是否有理由要避免使用第 3 方组件?
我们目前通过 51Degrees.mobi 使用 WURFL 设备数据库——效果非常好。
您可以在 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);
}
}