asp.net mvc에서 동일한 개체/모델에 대한 컨트롤러 및보기가 두 개 이상 필요했지만 예상보다 조금 복잡했습니다.컨트롤러 및 뷰의 하위 폴더
이site.com/product -> will show product details to visitors. site.com/admin/product -> will show some extra information together with product details. and some commands like delete, edit etc.
목표는 방문자와 관리자를위한 URL을 분리해서하는 것입니다
기본적으로 내가하고 싶은 것은이 같은 것입니다.
> Controllers > Admin ProductController.cs ProductController.cs > Views > Admin > Product Index.aspx > Product Index.aspx
내가 문제없이 올바른 컨트롤러에 URL을 매핑 할 수 있습니다 :
내 첫 번째 방법은이 방법을 내가 컨트롤러와 뷰 폴더의 하위 폴더를 만들 것, 그래서 일을 볼 것이라고했다 (클래스 네임이 같기 때문에 네임 스페이스를 지정했다면). 그러나 관리자 폴더의 컨트롤러에서보기를 반환하면보기/관리자/제품 폴더 아래의 인덱스보기가 아니라보기/제품 아래의보기가 표시됩니다.
내가 알 수있는 말은 내가 알 수있는 return View("Full path here")
내가 원하는보기를 반환합니다. 그러나 그것은 분명히 좋은 해결책이 아니며 그렇게하고 싶지 않습니다.
내 질문은 이런 상황을 처리하는 가장 좋은 방법은 무엇이며, 그 조건은 URL이어야합니다.
- 뷰 방식 (또는 이러한 목적을 위해 오버라이드 (override) 할 필요가 다른 사람을) 무시하고 올바른 뷰가 반환됩니다 확인합니다 사용자 정의 컨트롤러 클래스 만들기?
- 이 하나는 못생긴 해킹이지만 작동합니다.
폴더를 고려한 사용자 지정보기 엔진을 만드시겠습니까?
- 내가 정확히 내가이 작업을 수행 할 수 있는지 모르겠지만, 지금까지 내가 이해,이 또한 문제
사용 Phil Haack의 Areas Prototype를 해결해야합니까?
- 이것은 실제로 폴더에 대해 다른 레이아웃을 사용하지만, 이론적으로는 이것도 작동해야합니다. 그러나이 방법을 사용하는 것이 가장 좋은 방법인지 확실하지 않습니다. 다른 컨트롤러 &을 사이트의 다른 부분에 배치하면 원하는 내용이 정확하지 않기 때문입니다.
I의 의견을 반환 할 때 고려 사항으로 폴더를 취 사용자 지정보기 엔진 생각,쪽으로 기울고 있어요,하지만 내가 말했듯이, 나는 그렇게하는 방법을 모르겠어요.
제안 사항?