2012-09-17 4 views
2

여러 ASP .Net Web Forms 프로젝트를 사용하는 기존 웹 사이트가 있습니다. 로그인/권한 부여 웹 양식 프로젝트를 대체 할 MVC 4 모바일 웹 응용 프로그램을 만들었습니다.MVC 4 컨트롤러의 외부 페이지로 리디렉션

컨트롤러 내에서 ASP .Net 페이지로 리디렉션 할 수 없다는 것을 제외하고는 지금까지 사이트의 모든 기능을 대체 할 수있었습니다. 나는 문제없이 동일한 웹 사이트의 다른 MVC 애플리케이션을 도달 할 수있는이 방법을 사용

: 나는 Web Forms 페이지로 리디렉션 할 때

return Redirect("MyURLstring"); 

그러나 나는 몇 JS 오류를 받고, 페이지 리디렉션하지 않습니다. MVC 응용 프로그램이 열리고있는 URL에 JQuery 1.7.1을 적용하려고 시도하는 것 같습니다.

뷰의 하이퍼 링크 내에 rel = "external"태그를 포함하면 오류없이 URL에 연결할 수 있습니다. 내 RouteConfig.cs이 어떤 도움을 주시면 더 좋구요

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

파일에

는 또한 경로를 만들어이 문제를 해결하려고했습니다.

+0

JS 오류가 발생하면 ASP.NET MVC와 관련이 없습니다. – Dai

+0

무게가 나가는 것에 대해 감사드립니다. 그러나 rel = "external"을 사용하는 동안 컨트롤러에서 URL로 리디렉션 할 수 있도록 누락 된 부분에 대한 피드백을 찾고 있습니다. rel = "external"앵커 태그가있는 표준 하이퍼 링크를 사용하여 URL을 따라 가면 문제없이 작동합니다. 내가 오류를 얻는 유일한 방법은 MVC 컨트롤러 리디렉션 메서드를 통해 URL에 액세스하려고하는 경우입니다. – RogerRoger

+0

Layout.cshtml의 ~/bundles/jquerymobile에 대한 뷰 참조를 제거하고 Layout.Mobile.cshtml에 보존하여이 문제를 해결했습니다. – RogerRoger

답변

0

해결 방법 :

나는 기본으로 MVC 4 모바일 사이트로 프로젝트를 생성하지만, 여전히 내 주요 _Layout보기에서 jQuery를 모바일에 대한 참조를했다.

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

나는 나의 _Layout.Mobile.cstml보기에 대한 손상이 코드를 유지하지만,이 날 반환 리디렉션 ("myURL이")을 수행 할 수 있습니다 _Layout.cshtml

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

아래로 변경; 리디렉션을 막고 있던 모든 jQuery를 통해 호핑하지 않고 컨트롤러에서.

관련 문제