문제

이 사이트는 ASP.Net MVC를 사용하여 작성되었으며 URL에 "/Home"이 표시되지 않는다는 것을 알고 있습니다.이것은 나에게 그것이 가능하다는 것을 증명합니다.어떤 특별한 경로가 필요합니까?

도움이 되었습니까?

해결책

"Home"을 빈 문자열로 변경하면 됩니다.

routes.MapRoute(
    "Home",
    "",
    new { action = Index, controller = Home }
);

다른 팁

IIS 7에서 실행 중인 경우 ASP.NET MVC와 함께 제공되는 Default.aspx 파일을 삭제하면 됩니다(Preview 3 이상에서 실행한다고 가정).해당 파일은 .NET 3.5 SP1에서 수정된 Cassini 문제로 인해 필요했습니다.자세한 내용은 다음을 확인하세요.

http://haacked.com/archive/2008/04/10/upcoming-changes-in-routing.aspx그리고http://haacked.com/archive/2008/05/12/sp1-beta-and-its- effect-on-mvc.aspx

나는 실제로 모든 홈 컨트롤러 메서드를 사이트 루트에 두는 것을 좋아합니다.이와 같이:/정보, /연락처 등아무래도 제가 까탈스러운 것 같아요.이를 위해 간단한 경로 제약 조건을 사용합니다. 다음은 코드 샘플이 포함된 내 블로그 게시물입니다.

나는 추가 할 것이다

routes.MapRoute("NoIndex", "{action}", new { controller = "Home", action = "Index" });

RouteConfig.cs에서

이것이 내가 고향을 없애기 위해 한 일입니다.지정자가 하나만 있는 모든 경로는 Home/Action으로 처리되고 두 개가 있는 경로는 Controller/Action으로 처리됩니다.단점은 이제 컨트롤러가 명시적인 인덱스(/Controller != /Controller/Index)를 가져야 하지만 이것이 여러분이나 다른 사람들에게 도움이 될 수 있다는 것입니다.

routes.MapRoute(
    "Default",
    "{action}",
    new { controller = "Home", action = "Index" }
);

routes.MapRoute(
    "Actions",
    "{controller}/{action}",
    new { }
);

IIS 7에서는 ASP.NET MVC와 함께 제공되는 Default.aspx 파일을 간단히 삭제할 수 있습니다(Preview 3 이상에서 실행한다고 가정).해당 파일은 .NET 3.5 SP1에서 수정된 Cassini 문제로 인해 필요했습니다.

자세한 내용은 다음을 확인하세요.

라우팅에 예정된 변경 사항 그리고 .NET 3.5 SP1 베타 및 MVC에 미치는 영향

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top