logo

ASP.NET MVC 라우팅

MVC에서 라우팅은 브라우저 요청을 컨트롤러 작업에 매핑하고 응답을 반환하는 프로세스입니다. 각 MVC 애플리케이션에는 기본에 대한 기본 라우팅이 있습니다. 홈컨트롤러 . 새로 생성된 컨트롤러에 대해 사용자 정의 라우팅을 설정할 수 있습니다.

그만큼 RouteConfig.cs 파일은 애플리케이션에 대한 라우팅을 설정하는 데 사용됩니다. 처음에는 다음 코드가 포함되어 있습니다.

// RouteConfig.cs

 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace MvcApplicationDemo { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute('{resource}.axd/{*pathInfo}'); routes.MapRoute( name: 'Default', url: '{controller}/{action}/{id}', defaults: new { controller = 'Home', action = 'Index', id = UrlParameter.Optional } ); } } } 

이 설정 파일에 따르면 홈 컨트롤러의 Index 동작이 기본값으로 처리됩니다. 처음으로 응용 프로그램을 실행하면 다음과 같은 출력이 생성됩니다.

ASP 라우팅 1

주소 표시줄을 보면 다음과 같은 내용만 포함되어 있습니다. 로컬호스트:52174 . MVC 라우터가 컨트롤러를 매핑하기 때문에 컨트롤러가 없으며 작업이 지정됩니다. RouteConfig.cs.

주소 표시줄에 컨트롤러 및 액션 이름을 명시적으로 입력하면 동일한 액션으로 리디렉션됩니다. 그만큼 localhost:52174/홈/색인 브라우저에 동일한 출력이 생성됩니다.

ASP 라우팅 2

이제 새 컨트롤러를 생성하고 이를 경로 파일에 구성해 보겠습니다. 마우스 오른쪽 버튼을 클릭하세요. 제어 장치 폴더를 선택하고 추가를 선택한 다음 컨트롤러를 선택합니다. 창이 뜹니다. 스크린샷에서 했던 것처럼 빈 컨트롤러를 선택하세요.

ASP 라우팅 3

이 컨트롤러에는 일부 소스 코드가 있습니다. 다음 코드로 이를 재정의하세요.

// StudentsController.cs

 using System.Web.Mvc; namespace MvcApplicationDemo.Controllers { public class StudentsController : Controller { public ContentResult Index() { return Content('This is default student page'); } } } 

경로 파일에서 이 컨트롤러를 구성하기 위해 다음에서 몇 가지 변경 사항을 적용했습니다. RouteConfig.cs 파일. 코드는 아래와 같습니다.

// RouteConfig.cs

 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace MvcApplicationDemo { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute('{resource}.axd/{*pathInfo}'); routes.MapRoute( name: 'Students', url: '{controller}/{action}/{id}', defaults: new { controller = 'Students', action = 'Index', id = UrlParameter.Optional } ); } } } 

이 애플리케이션은 다음에 대해 동일한 출력을 생성합니다. 로컬호스트:52174 그리고 로컬 호스트:52174/학생/색인

MVC 프레임워크의 경로 모듈은 브라우저 URL을 프로젝트의 RouteConfig 파일에 매핑하기 때문입니다.

산출:

정적 자바

ASP 라우팅 4

이는 컨트롤러 및 작업 이름을 명시적으로 입력한 경우에도 위와 동일합니다.

ASP 라우팅 5