MVC 4从控制器重定向到外部页面

时间:2012-09-17 20:23:08

标签: c# .net asp.net-mvc-4

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

到目前为止,我已经能够替换网站的所有功能,但我无法从Controller内部重定向到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);

非常感谢任何帮助。

1 个答案:

答案 0 :(得分: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")

这允许我执行返回重定向(“myURL”);从控制器没有跳过阻止重定向的所有jQuery。