2017년 5월 24일 수요일

C#, MVC, WebApp : MVC 웹 응용프로그램 생성 및 시작페이지 변경


일단 프로젝트를 생성한다.


웹 페이지를 만들 것이므로, 웹 응용 프로그램을 선택.
이름은 적당히 주면 되고...


MVC 로 만들 것이므로 MVC 를 선택.
"비어있음" 을 선택하고 "MVC" 체크 박스를 체크해서 MVC 사이트를 만들수도 있다.
시작을 "MVC" 로 선택하고 하면 기본적인 틀을 미리 잡아 주는 것일뿐...


이렇게 사이트를 생성하고, 사이트를 "실행" 해보면...


요렇게 뭔가 작업하는 화면이 나오고 (VisualStudio 2017 이전 버젼이면 안나옴) ...


이렇게 어느정도 틀이 잡힌 웹페이지가 만들어져 나온다.
만약 "비어있음" 을 선택해서 사이트를 만들었으면, 그냥 빈 페이지가 나올 것이다.

문제는 지금 보이는 페이지가 도대체 어디에 있는 페이지냐는 것.


파일 위치 자체는 "View > Home > index.cshtml" 에 있다.
만약 이걸 다른 파일로 바꾸고 싶으면 어디를 변경해야 할까?


시작 페이지 설정은 "App_Start > RouteConfig.cs" 에 있다.
그 파일에 보면 "routes.MapRoute" 이라는 항목에 "Default" 로 등록되어 있으며, controller = "Home", action = "Index" 로 기록되어 있을 것이다.

즉, 현재 기본 페이지는, "Home" 컨트롤에 "Index" 라는 액션이 기본 페이지로 지정되어 있으며, "Home" 컨트롤은 "Controllers" 폴더에 있으며, 컨트롤명이 "Home" 이 되어 있으니, 클래스 파일은 "HomeController.cs" 가 된다.


"HomeController.cs" 파일을 보면 어러개의 액션이 지정되어 있으며, 시작 페이지 설정에 "Index" 가 지정도어 있으므로, "HomeController.cs" 내의 "Index()" 메소드가 실행되며, 이 메소드에서 View() 를 호출하면 자동으로 "Views > Home > index.cshtml" 파일을 불러 오게 된다.

따라서 시작 페이지를 다른 페이지로 바꾸려면....


예를 들어서 "Index" 를 "Contact" 로 바꾸면, "Views > Home > Contact.cshtml" 를 불러 오게 된다.


그렇게 바꾸고 실행하게 되면, "Contact.cshtml" 페이지가 기본 페이지로 실행이 된다.