저희 웹 사이트를 엉뚱한 CMS에서 멋진 사용자 정의 된 MVC 웹 사이트로 이동하는 중입니다. 지금까지 모든 작업이 순조롭게 진행되었지만 라우팅 관련 문제가 있습니다.ASP.NET MVC 2.0 간단한 라우팅 질문
저희 회사는 많은 마케팅 이메일과 편지를 발송합니다. 여기에서는 사용자가 방문 페이지로 이동하도록하여 캠페인의 진행 상황을 추적하고 더 많은 정보를 제공합니다. 따라서 편지에서 "www.OurSite.com/LandingPage 방문"이라고 말합니다. 그러나 MVC에서는 모든 페이지가 기본적으로 해당 컨트롤러의 폴더에 배치됩니다.
그래서 나는 나의 홈 컨트롤러에 LP라는 페이지를 가지고 있다고, 그래서 URL이 내가 같은 www.OurSite.com/LP되기위한 필요한 것은 www.OurSite.com/Home/LP
입니다 이전에는 새로운 웹 사이트를 시작하면 현재 실행중인 마케팅 캠페인에서 404를 제공하지 않습니다. 게다가 입력하기가 훨씬 좋기 때문에 앞으로도 계속 사용하지 않을 것입니다.
이 기본 경로에 기반 :public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
나는 이런 식으로 뭔가 만드는 시도했다 :
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"LandingPage",
"{action}/{id}",
new { controller = "Home", action = "LandingPage", id = UrlParameter.Optional }
);
}
을하지만 내 문제가 해결되지 않습니다.
나는 인터넷 검색을 수행했으며, 실제로 적용되지 않는 복잡한 라우팅을위한 모든 것입니다. 나는 이것을 매우 역동적으로 만드는 것에 관심이 없다. 캠페인을 실행할 때마다 새로운 경로를 만드는 데 문제가 없습니다.
이 페이지의 모든 사람들이 홈 컨트롤러에있는 것은 아닙니다. 따라서 경로 제거만으로는 효과가 없습니다. 방문 페이지에는 많은 컨트롤러가 있습니다.
이 worke 디. 고맙습니다. 그러나 컨트롤러를 반환 View ("CPA2010");을 말하도록 변경해야했습니다. 내가 돌아 왔을 때 View ("~/Views/Home/CPA2010.aspx"); 허용되지 않는다는 오류가 나타납니다. 감사! –