2010-04-26 7 views
0

상대적으로 독립적 인 일부 응용 프로그램 영역이 있습니다 (모두 마스터 페이지에서 탐색 됨). 이제는 "기본"MVC2 템플릿 (새 MVC2 프로젝트를 만들 때 얻을 수있는 템플릿)을 사용하고 있습니다. 내가 처음 페이지를로드 할 때, 나는 "HOME"오전과 나는 소개를 클릭하면 지금 ....영역 (MVC2)에서 "홈"으로 돌아 가기

HOME 영역 1의 AREA2의 AREA3의 영역 4에 대한

: 그래서 메뉴는 다음과 같습니다 문제없이. 그러나 지역 페이지로 이동하면 내 집이나 페이지 (404 찾을 수 없음)로 돌아갈 수 없습니다. 내가 그 (것)들에 항해하고,에 관하여 클릭하면, 주소 막대기는 나가 가정 할 가정/가정 대신에 .../AreaX/가정/가정을 보여준다.

나는 그것이 나의 라우팅과 관련이 있다고 기대하지만, 완전히 확신하지는 않는다. 내가 추가/기본 라우팅 (아무것도 아마 변경되었습니다!). 여기

은 내가 Global.asax에에있는 라우팅 값 (내가 말했듯이, 기본)

routes.MapRoute(
    "Default", // Route name 
    "{controller}/{action}/{id}", // URL with parameters 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
); 

어떤 생각?

답변

3

링크 할 때 영역을 null로 설정할 수 있습니다 (특별한 방법이 필요하지만). 뭔가가 ...

<%: Html.ActionLink("Home", "Home", "Home", new { area = (string)null; }) %> 

매개 변수의 수가 잘못되었을 수 있습니다.

당신은 너무

<a href="/rooted_path_here">adasda</a> 

처럼 직접 연결하거나 같은 기본적인 일을 할 Html 헬퍼 방법에 대한 확장 메서드를 작성할 수 있습니다. 사용자에게 쉽게 권한을 부여 할 수 있으므로이 경로를 선택했습니다. 결국 ActionLink를 호출합니다.

+0

흠 ... 그건 충분히 쉬웠다! 나는 새로운 것을 사용하여 비슷한 것을 시도했다. {area = ""}, 나는 null을 사용하는 것을 생각하지 않았다! 감사! – SlackerCoder

+0

+1 나는'area = null'을 시도했고 익명을 위해 _no null을 던졌습니다. 덕분에 (문자열). –

0

MVC2 구문

<%= Html.ActionLink("Home", "Home", "Home", new { area = (string)null }, null) %>