首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在不同的桌面浏览器上加载不同的视图

如何在不同的桌面浏览器上加载不同的视图
EN

Stack Overflow用户
提问于 2013-05-22 15:24:03
回答 2查看 535关注 0票数 2

我正在创建这个ASP.Net mvc4 application..In,我想在桌面版本上为不同的浏览器加载不同的视图。

在mvc4中,我们可以为桌面和移动设备加载不同的视图,但在这里,我想为桌面浏览器加载不同的视图,并且在相同的浏览器中加载不同的视图,例如

桌面铬与桌面IE9桌面IE8与桌面IE9

有谁可以帮我?

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-05-22 15:49:21

就我个人而言,我不认为每个桌面浏览器都有不同的View是可行的,你试图解决的问题可能是Css/JavaScript问题,而与View无关,它基本上应该包含内容,而不是功能/设计。

但是,您可以利用新的DisplayModeProvider机制(在MVC4中):

在你的Global.asax

代码语言:javascript
运行
复制
    protected void Application_Start()
    {
        // Internet Explorer 9 (view prefix will be "ie9")
        DisplayModeProvider.Instance.Modes.Add(new DefaultDisplayMode("ie9")
            {
                ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf("MSIE 9.", StringComparison.OrdinalIgnoreCase) >= 0)
            });

        // Internet Explorer 8 (view prefix will be "ie8")
        DisplayModeProvider.Instance.Modes.Add(new DefaultDisplayMode("ie8")
        {
            ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf("MSIE 8.", StringComparison.OrdinalIgnoreCase) >= 0)
        });

        // Internet Explorer 7 (view prefix will be "ie7")
        DisplayModeProvider.Instance.Modes.Add(new DefaultDisplayMode("ie7")
        {
            ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf("MSIE 7.", StringComparison.OrdinalIgnoreCase) >= 0)
        });

        // Google Chrome (view prefix will be "chrome")
        DisplayModeProvider.Instance.Modes.Add(new DefaultDisplayMode("chrome")
        {
            ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf("Chrome", StringComparison.OrdinalIgnoreCase) >= 0)
        });

        // Mozilla Firefox (view prefix will be "firefox")
        DisplayModeProvider.Instance.Modes.Add(new DefaultDisplayMode("firefox")
        {
            ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf("Firefox", StringComparison.OrdinalIgnoreCase) >= 0)
        });

在您的Views文件夹中:

代码语言:javascript
运行
复制
  /Views/[Controler]/[Action].ie9.cshtml
  /Views/[Controler]/[Action].ie8.cshtml
  /Views/[Controler]/[Action].ie7.cshtml
  /Views/[Controler]/[Action].chrome.cshtml
  /Views/[Controler]/[Action].firefox.cshtml
票数 2
EN

Stack Overflow用户

发布于 2013-05-22 15:32:12

this能帮到你吗?

或者,如果您想在视图中了解浏览器,也可以使用jQuery.browser插件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16685800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档