0

我有一个 MVC 项目(.net fw 4.5),在 web.config 中配置了表单身份验证。从桌面设备浏览时一切正常;用户被重定向到登录视图。我从“Nuget”安装了“51Degrees”,并按照他们网站中的说明设置了配置。此外,我在名为的主文件夹中添加了 3 个移动视图:Index.iphone、Index.android 和 Index.mobile,我希望用户在从移动/平板设备浏览时被重定向到它们(取决于设备类型)

我的问题是从移动/平板设备浏览时首先调用登录视图,并且在成功登录后总是调用 Index.mobile。我不希望加载登录视图,但我想显示相应的视图(基于设备类型),该视图具有下载应用程序的相应链接(谷歌播放/应用商店)。

请您的帮助。

我删除了 51Degrees 配置文件中的重定向部分。'Detector' HttpModule 存在于我的 Web 配置中(Nuget 在 51 度安装期间自动添加了它。)我的 App_Data 文件夹中有一个 .dat 文件。我在 Global.asax 文件的 Application_Start 中添加了适用于 android、iphone 和移动设备的 DefaultDisplayMode 选项(如 51Degrees 站点中所述)。

我错过了什么?

4

1 回答 1

0

使用 MVC 的一个很好的例子是在示例目录中的GitHub 存储库中。BaseController 的 Initialise 方法使用 Device 模型为设备设置相关属性,然后可以通过 ViewBag 访问这些属性。因此,在您的登录视图中,您可以使用类似的东西

if( ViewBag.Device.PlatformName == "Android" )
{
    return Redirect("/AndroidApp");
}
else if
...
else
{
    return View();
}

这是你想要的那种东西吗?

于 2016-08-26T16:16:47.500 回答