어플 리케이션이 복잡 해지는 것을 막기 위해 작업을 시작했습니다.
http://localhost:49358/Document/Document/
대신 :하지만 지금은 항상 전화를해야
http://localhost:49358/Document/
어떻게이 지역의 이름으로 컨트롤러에 액세스 할 수 내 경로를 변경할 수 있습니까? (더 HomeController 없음)영역 및 컨트롤러 이름 (asp.net 코어)을 사용한 라우팅
나는 내 프로젝트의 내부에 다음과 같은 폴더 구조를 가지고 :
routes.MapRoute(name: "areaRoute",template: "{area:exists}/{controller=Home}/{action=Index}");
그리고 나는 배치 [Area ("Document")] 내 DocumentController의 태그.
편집 : 나는 HomeControllers 함께 갔다 Shyju 제이미 테일러에 의해 제안
. (빠른 답변과 설명을 주셔서 모두 감사)
내 구조는 이제 다음과 같습니다 및 라우팅이 같은 노력 예상 : 나를 위해
는 여전히 많은 HomeControllers 및 색인을 가지고 dissapointing 약간의 파일. 코드를 탐색하는 것은 더 이상 그렇게 쉬운 일이 아니다 :
Edit2가 :
모든 Homecontrollers 너무 화가 난 후에, 나는 제이미 테일러가 제시 한 솔루션으로 가서 특징 폴더에있는 모든 rearanged. 그것은 약간 더 많은 설정이 필요하지만 제 의견으로는 훨씬 깨끗합니다.
또한 더이 Microsoft 문서에 설명되어 있습니다 (다만 지역의 물건을 생략) :
https://msdn.microsoft.com/en-us/magazine/mt763233.aspx
내 구조는 이제 다음과 같습니다 및 라우팅 마법처럼 작동하고 컨트롤러 이름은 여전히 의미가있다 :
나는 그게 무슨 분야인지 잘 모르겠습니다. 아마도 아키텍처를 재고해야합니다. 아마도 색인 페이지처럼 작동하고 문서 색인보기의 모든 기능을 제공하는 문서 영역 아래에 면도 페이지를 추가 할 수 있습니다. –
"영역은 관련된 기능을 그룹에 별도의 네임 스페이스로 구성하는 데 사용되는 ASP.NET MVC 기능입니다 (라우팅 용) 및 폴더 구조 (보기 용) "는 나에게 약속했다. 그렇지 않으면 무엇을 권하고 싶습니까? – Yush0
편집이 완료되기 직전에 도착했습니다 : P –