实现DisplayMode

时间:2012-12-27 22:45:55

标签: asp.net-mvc asp.net-mvc-4 device-detection

我目前正在使用mvc 4并且有兴趣实现DisplayModes功能,该功能会嗅探访问该网站的浏览器并根据浏览器/设备呈现适当的视图。

例如,检查iphone并呈现适用视图的代码:

DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("iPhone")
{
    ContextCondition = (context => context.Request.UserAgent.IndexOf
        ("iPhone", StringComparison.OrdinalIgnoreCase) >= 0)
});

我已经读过开箱即用的移动设备,并将移动名称添加到视图中。

我想为平板电脑创建一个类似的位。有没有人实现这个或如何做到这一点的说明?我可以去查看平板电脑的用户代理等,但这个功能很受欢迎,所以想知道这是否已经被任何人实现。

2 个答案:

答案 0 :(得分:0)

HTTP中没有 tablet 这样的概念。有用户代理。平板电脑使用不同的用户代理。其中一些人a list。因此,您所要做的就是调整显示的代码,使这些用户代理的子字符串与特定设备匹配。

答案 1 :(得分:0)

这是一个非常好的概述,并在ASP.Net上提供了名为ASP.NET MVC 4 Mobile Features的示例。几乎可以通过示例遍历整个DisplayMode集。