MVC:ssä reititys on prosessi, jossa selainpyyntö kartoitetaan ohjaimen toimintoon ja palautetaan vastaus. Jokaisella MVC-sovelluksella on oletusreititys HomeController . Voimme asettaa mukautetun reitityksen juuri luodulle ohjaimelle.
The RouteConfig.cs tiedostoa käytetään määrittämään sovelluksen reititys. Aluksi se sisältää seuraavan koodin.
// 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 } ); } } }
Tämän asennustiedoston mukaan kotiohjaimen hakemistotoimintoa käsitellään oletuksena. Ensimmäisellä kerralla, kun sovellus suoritetaan, se tuottaa seuraavan tulosteen.
Jos katsomme osoitepalkkia, se sisältää vain paikallinen isäntä: 52174 . Ohjainta ei ole ja toiminto on määritetty, koska MVC-reititin kartoittaa ohjaimen kohteesta RouteConfig.cs.
Jos annamme nimenomaisesti ohjaimen ja toimintojen nimet osoitepalkkiin, se ohjaa samaan toimintoon. The localhost:52174/Home/Index tuottaa saman tulosteen selaimeen.
Luodaan nyt uusi ohjain ja määritetään se reittitiedostoon. Napsauta hiiren kakkospainikkeella Ohjain kansio ja valitse lisää ja sitten ohjain. Se avaa ikkunan. valitse tyhjä ohjain kuten teimme kuvakaappauksessa.
Tällä ohjaimella on lähdekoodia, ohita tämä seuraavalla koodilla.
// StudentsController.cs
using System.Web.Mvc; namespace MvcApplicationDemo.Controllers { public class StudentsController : Controller { public ContentResult Index() { return Content('This is default student page'); } } }
Tämän ohjaimen konfiguroimiseksi reittitiedostossa olemme tehneet joitain muutoksia RouteConfig.cs tiedosto. Koodi on annettu alla.
// 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 } ); } } }
Tämä sovellus tuottaa saman tulosteen paikallinen isäntä: 52174 ja localhost:52174/Students/Index
Koska MVC-kehyksen reittimoduuli yhdistää selaimen URL-osoitteen projektin RouteConfig-tiedostoon.
Lähtö:
javascript silmukalle
Tämä on sama kuin yllä, vaikka olemme syöttäneet ohjaimen ja toimintojen nimet nimenomaisesti.