나는 변화가 진행되는 동안 프로젝트를 천천히 마이그레이션하려고하므로 기존의 webforms 프로젝트에 MVC를 추가했습니다. 두 가지 모두에 액세스 할 수 있어야하지만 기본적으로 aspx 페이지가 있어야합니다. 웹 폼과 MVC가있는 프로젝트에서 aspx 페이지로 라우팅
는 라우팅 등록에 관해서
, 나는 현재 장소에 있습니다private void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("Backup", "{*anything}", "~/Default.aspx");
routes.MapRoute(
"MVC",
"{controller}/{action}/{id}",
new { controller = "Test", action = "Index", id = 1 }
);
}
을하지만, 내가이 같은 설정이있을 때, 내가 알고있는 URL에 넣어 경우에도이 컨트롤러를 말한다/action 조합 (예 :이 줄의 마지막 줄에서 Test 및 Index)을 사용하더라도 사용자를 Default.aspx 페이지로 리디렉션합니다. 나는 다음에 이상이 변경 해봤
:
여기private void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"MVC",
"{controller}/{action}/{id}",
new { controller = "Test", action = "Index", id = 1 }
);
routes.MapPageRoute("Backup", "{*anything}", "~/Default.aspx");
}
, 사용자가 페이지를 지정하거나 컨트롤러/액션을 지정할 수 있지만 그들은 어떤 컨트롤러/aspx 페이지를 포함하지 않는 경우, 그것을 기본 MVC 경로가 기본값 인 반면 webform Default.aspx로 기본 설정되어 있어야합니다.
페이지/컨트롤러를 지정하지 않으면 ~/Default.aspx로 지정되고 컨트롤러가 지정되면 해당 컨트롤러로 연결됩니다.
고맙습니다. 첫 번째 접근 방식은 완벽하게 작동하고 내가 지금 필요로하는 부분을 다루고 있지만, 그런 방식으로 상황을 분할해야한다면 두 번째 접근 방식을 사용할 수 있습니다. 이것은 큰 도움이됩니다! – Lyise
도움이 될 수있어서 기쁩니다! –