logo

ASP.NET MVC útválasztás

Az MVC-ben az útválasztás egy olyan folyamat, amelynek során a böngészőkérést leképezik a vezérlőművelethez, és visszaküldik a választ. Minden MVC-alkalmazás alapértelmezett útválasztással rendelkezik HomeController . Egyéni útválasztást állíthatunk be az újonnan létrehozott vezérlőhöz.

A RouteConfig.cs fájl az alkalmazás útválasztásának beállítására szolgál. Kezdetben a következő kódot tartalmazza.

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

Ennek a telepítőfájlnak megfelelően a Home kontroller Index művelete alapértelmezettként lesz kezelve. Az első alkalommal, amikor az alkalmazás fut, a következő kimenetet produkálja.

ASP Routing 1

Ha megnézzük a címsort, csak azt tartalmazza localhost:52174 . Nincs vezérlő, és a művelet meg van adva, mert az MVC útválasztó leképezi a vezérlőt a RouteConfig.cs.

Ha kifejezetten beírjuk a vezérlők és a műveletek nevét a címsorba, akkor az átirányít ugyanarra a műveletre. A localhost:52174/Home/Index ugyanazt a kimenetet adja a böngészőnek.

ASP Routing 2

Most hozzunk létre egy új vezérlőt, és állítsuk be az útvonalfájlba. Kattintson jobb gombbal a Vezérlő mappát, és válassza az Add, majd a Controller lehetőséget. Ekkor megjelenik egy ablak. válasszon egy üres vezérlőt, ahogy a képernyőképen tettük.

ASP Routing 3

Ennek a vezérlőnek van néhány forráskódja, ezt írja felül a következő kóddal.

// StudentsController.cs

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

Ennek a vezérlőnek az útvonalfájlban történő konfigurálásához néhány változtatást eszközöltünk RouteConfig.cs fájlt. A kód alább található.

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

Ez az alkalmazás ugyanazt a kimenetet produkálja localhost:52174 és localhost:52174/Students/Index

Mivel az MVC keretrendszer útvonalmodulja hozzárendeli a böngésző URL-címét a projekt RouteConfig fájljához.

Kimenet:

java kódolás if else utasítás

ASP Routing 4

Ez ugyanaz, mint fent, még akkor is, ha kifejezetten megadtuk a vezérlők és a műveletek nevét.

ASP Routing 5