logo

Směrování ASP.NET MVC

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.

Směrování ASP 1

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.

Směrování ASP 2

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.

Směrování ASP 3

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

Směrování ASP 4

To je stejné jako výše, i když jsme explicitně zadali názvy ovladačů a akcí.

Směrování ASP 5