2

我有一个使用多个 ASP .Net Web 窗体项目的现有网站。我创建了一个 MVC 4 移动 Web 应用程序来替换登录/授权 Web 表单项目。

到目前为止,我已经能够替换站点的所有功能,除了我无法从控制器内部重定向到 ASP .Net 页面。

使用这种方法,我可以毫无问题地访问同一网站上的其他 MVC 应用程序:

return Redirect("MyURLstring");

但是,当我重定向到 Web 表单页面时,我收到了几个 JS 错误,并且页面永远不会重定向。看起来 MVC 应用程序正在尝试将 JQuery 1.7.1 应用于正在打开的 URL。

如果我在视图的超链接中包含 rel="external" 标记,我可以无错误地访问 URL。

我还尝试通过在 RouteConfig.cs 文件中创建路由来解决此问题

RouteValueDictionary RouteValues = new RouteValueDictionary();
RouteValues["rel"] = "external";
return RedirectToRoute("MyRouteName", RouteValues);

任何帮助是极大的赞赏。

4

1 回答 1

0

解决方案:

我将该项目创建为一个 MVC 4 Mobile 站点作为基础,但在我的主 _Layout 视图中仍然有对 jQuery Mobile 的引用。

@Scripts.Render("~/bundles/jquery", "~/bundles/jquerymobile", "~/bundles/jquerycustom")

我为我的 _Layout.Mobile.cstml 视图保留了此代码,但为 _Layout.cshtml 更改为下面

@Scripts.Render("~/bundles/jquery", "~/bundles/jquerycustom")

这允许我执行 return Redirect("myURL"); 从控制器中跳出阻止重定向的所有 jQuery。

于 2012-09-18T13:02:56.783 回答