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.
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.
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.
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
Ez ugyanaz, mint fent, még akkor is, ha kifejezetten megadtuk a vezérlők és a műveletek nevét.