У МВЦ-у, рутирање је процес мапирања захтева прегледача на радњу контролера и враћање одговора назад. Свака МВЦ апликација има подразумевано рутирање за подразумевано ХомеЦонтроллер . Можемо подесити прилагођено рутирање за новокреирани контролер.
Тхе РоутеЦонфиг.цс датотека се користи за подешавање рутирања за апликацију. У почетку садржи следећи код.
// РоутеЦонфиг.цс
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 } ); } } }
Према овој датотеци за подешавање, радња индекса кућног контролера ће се третирати као подразумевана. Први пут, када се апликација покрене, производи следећи излаз.
Ако погледамо адресну траку, она садржи само лоцалхост:52174 . Не постоји контролер и радња је наведена јер МВЦ рутер мапира контролер из РоутеЦонфиг.цс.
Ако експлицитно унесемо имена контролера и радњи у траку за адресу, преусмериће се на исту радњу. Тхе лоцалхост:52174/Хоме/Индек ће произвести исти излаз у претраживач.
Сада, хајде да направимо нови контролер и конфигуришемо га у датотеку руте. Десни клик на Контролор фолдер и изаберите додај, а затим контролер. Појавиће се прозор. изаберите празан контролер као што смо урадили на снимку екрана.
Овај контролер има неки изворни код, замените га следећим кодом.
// СтудентсЦонтроллер.цс
using System.Web.Mvc; namespace MvcApplicationDemo.Controllers { public class StudentsController : Controller { public ContentResult Index() { return Content('This is default student page'); } } }
Да бисмо конфигурисали овај контролер у датотеци руте, направили смо неке измене у РоутеЦонфиг.цс фајл. Код је дат испод.
// РоутеЦонфиг.цс
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/Студенти/Индекс
Зато што модул руте МВЦ оквира мапира УРЛ претраживача у датотеку РоутеЦонфиг пројекта.
Излаз:
упореди са Јавом
Ово је исто као горе, чак и да смо експлицитно унели називе контролера и акције.