我正在创建ASP.Net mvc4应用程序。在此,我想在桌面版本上为不同的浏览器加载不同的视图。
在mvc4中,我们可以为桌面和移动设备加载不同的视图,但在这里我想为桌面浏览器和相同的浏览器加载不同的视图,但不同的版本如
桌面Chrome与桌面IE9 桌面IE8与桌面IE9
任何人都可以帮助我吗?
提前致谢。
答案 0 :(得分:2)
就我个人而言,我认为每个桌面浏览器不同View
是可行的,您尝试解决的问题可能是Css
/ { {1}}问题与JavaScript
无关,基本上应该包含内容,而不是功能/设计。
但是,您可以利用新的View
机制(在MVC 4中):
在DisplayModeProvider
:
Global.asax
在 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
答案 1 :(得分:0)