logo

ASP.NET MVC usmjeravanje

U MVC-u, usmjeravanje je proces preslikavanja zahtjeva preglednika u radnju kontrolera i povratnog odgovora. Svaka MVC aplikacija ima zadano usmjeravanje za zadano HomeController . Možemo postaviti prilagođeno rutiranje za novostvoreni kontroler.

The RouteConfig.cs datoteka se koristi za postavljanje usmjeravanja za aplikaciju. U početku sadrži sljedeći kod.

// 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 } ); } } } 

Prema ovoj datoteci za postavljanje, radnja Index kućnog kontrolera smatrat će se zadanom. Prvi put, kada se aplikacija pokrene, proizvodi sljedeći izlaz.

ASP usmjeravanje 1

Ako pogledamo adresnu traku, ona sadrži samo lokalni host: 52174 . Nema kontrolera i radnja je navedena jer MVC usmjerivač mapira kontroler iz RouteConfig.cs.

Ako izričito unesemo nazive kontrolera i radnji u adresnu traku, preusmjerit će se na istu radnju. The localhost:52174/Home/Index proizvest će isti izlaz pregledniku.

ASP usmjeravanje 2

Kreirajmo sada novi kontroler i konfigurirajmo ga za datoteku rute. Desni klik na Kontrolor mapu i odaberite dodaj, a zatim upravljač. Otvorit će se prozor. odaberite prazan kontroler kao što smo učinili na snimci zaslona.

ASP usmjeravanje 3

Ovaj kontroler ima izvorni kod, nadjačajte ga sljedećim kodom.

// StudentsController.cs

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

Da bismo konfigurirali ovaj kontroler u datoteci rute, napravili smo neke promjene RouteConfig.cs datoteka. Kod je naveden u nastavku.

// 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 } ); } } } 

Ova aplikacija proizvodi isti izlaz za lokalni host: 52174 i localhost:52174/Studenti/Index

Budući da modul rute okvira MVC preslikava URL preglednika u datoteku RouteConfig projekta.

Izlaz:

java indeks od

ASP usmjeravanje 4

Ovo je isto kao i gore, iako smo eksplicitno unijeli nazive kontrolera i radnji.

ASP usmjeravanje 5