logo

Smerovanie ASP.NET MVC

V MVC je smerovanie proces mapovania požiadavky prehliadača na akciu ovládača a vrátenia odpovede späť. Každá aplikácia MVC má predvolené smerovanie HomeController . Pre novovytvorený radič môžeme nastaviť vlastné smerovanie.

The RouteConfig.cs súbor sa používa na nastavenie smerovania pre aplikáciu. Spočiatku obsahuje nasledujúci 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 } ); } } } 

Podľa tohto inštalačného súboru sa akcia indexu domáceho ovládača bude považovať za predvolenú. Prvýkrát, keď sa aplikácia spustí, vytvorí nasledujúci výstup.

Smerovanie ASP 1

Ak sa pozrieme na panel s adresou, obsahuje iba localhost:52174 . Neexistuje žiadny ovládač a akcia je špecifikovaná, pretože smerovač MVC mapuje ovládač z RouteConfig.cs.

Ak do panela s adresou explicitne zadáme názvy ovládačov a akcií, presmeruje sa na rovnakú akciu. The localhost:52174/Home/Index vytvorí rovnaký výstup do prehliadača.

Smerovanie ASP 2

Teraz vytvoríme nový ovládač a nakonfigurujeme ho na súbor trasy. Kliknite pravým tlačidlom myši na Ovládač priečinok a vyberte pridať a potom ovládač. Zobrazí sa okno. vyberte prázdny ovládač, ako sme to urobili na snímke obrazovky.

Smerovanie ASP 3

Tento ovládač má nejaký zdrojový kód, prepíšte ho nasledujúcim kódom.

// StudentsController.cs

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

Na konfiguráciu tohto ovládača v súbore trasy sme vykonali niekoľko zmien RouteConfig.cs súbor. Kód je uvedený nižšie.

// 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áto aplikácia vytvára rovnaký výstup pre localhost:52174 a localhost:52174/Students/Index

Pretože modul trasy rámca MVC mapuje adresu URL prehliadača na súbor RouteConfig projektu.

Výkon:

armstrongovo číslo

Smerovanie ASP 4

Je to rovnaké ako vyššie, aj keď sme explicitne zadali názvy ovládačov a akcií.

Smerovanie ASP 5