V MVC je směrování proces mapování požadavku prohlížeče na akci řadiče a vrácení odpovědi zpět. Každá aplikace MVC má výchozí směrování HomeController . Pro nově vytvořený řadič můžeme nastavit vlastní směrování.
The RouteConfig.cs soubor slouží k nastavení směrování pro aplikaci. Zpočátku obsahuje následující kód.
// 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 } ); } } }
Podle tohoto instalačního souboru bude akce Index domácího ovladače považována za výchozí. Při prvním spuštění aplikace vytvoří následující výstup.
Pokud se podíváme do adresního řádku, obsahuje pouze localhost:52174 . Neexistuje žádný řadič a je specifikována akce, protože MVC router mapuje řadič z RouteConfig.cs.
Pokud do adresního řádku výslovně zadáme názvy ovladačů a akcí, přesměruje se na stejnou akci. The localhost:52174/Home/Index vytvoří stejný výstup do prohlížeče.
Nyní vytvoříme nový řadič a nakonfigurujeme jej na soubor trasy. Klikněte pravým tlačítkem na Ovladač složku a vyberte přidat a poté řadič. Vyskočí okno. vyberte prázdný ovladač, jak jsme to udělali na snímku obrazovky.
Tento řadič má nějaký zdrojový kód, přepište jej následujícím kódem.
// StudentsController.cs
using System.Web.Mvc; namespace MvcApplicationDemo.Controllers { public class StudentsController : Controller { public ContentResult Index() { return Content('This is default student page'); } } }
Abychom nakonfigurovali tento řadič v souboru trasy, provedli jsme některé změny RouteConfig.cs soubor. Kód je uveden níže.
// 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 } ); } } }
Tato aplikace vytváří stejný výstup pro localhost:52174 a localhost:52174/Students/Index
Protože modul trasy rámce MVC mapuje adresu URL prohlížeče na soubor RouteConfig projektu.
Výstup:
Jak najdu skryté aplikace na Androidu
To je stejné jako výše, i když jsme explicitně zadali názvy ovladačů a akcí.