This article is currently in the process of being translated into Hungarian (~56% done).
Bevezetés
MVC-ben a routing, vagy útválasztás az a módszer, amivel egy böngészőn keresztül kért URL-t egy vezérlőn lévő metódushoz illesztünk, ami aztán választ küld vissza a böngészőnek. A válasz gyakran nézet lesz, de könnyen lehet egyszerű szöveg, átirányítás, vagy számos más lehetőség is.
Alapértelmezett routing
If you're working on a brand new project, created from the Empty template in Visual Studio, then your application doesn't have any routing yet. We talked a bit about routing in the article about adding a Controller to the project, but if you haven't followed this tutorial from the start, we need to check up on this. Try opening your Startup.cs file, which should have been added to your project when you created it - if there's nothing about routing, you need to add it manually. The easiest way is to use the two helper methods called UseRouting() and MapDefaultControllerRoute() - it adds a default (fallback) route to your project, which will try to map URL's to methods on one of your controllers. If no Controller name is specified, the URL will be mapped to the HomeController.
Így kell ennek a Startup.cs fájlodban szerepelnie:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if(env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
}
Thanks to these methods, your application now supports basic routing. Here are some examples of URL's that now works and the Controller/Method combination that they map to:
http://localhost/ -> HomeController.Index()
http://localhost/Home/Index -> HomeController.Index()
http://localhost/Test/ -> HomeController.Test()
http://localhost/Home/Something -> HomeController.Something()
Ez nem csak a HomeController esetén működik - általános támogatást nyújt bármely vezérlő bármely metódusára, anélkül, hogy külön útvonalat kellene megadni hozzájuk. Így ha vagy egy UserController nevű vezérlőd, amin van egy Details() nevű metódus, akkor a következő URL-el hozzáférhetsz: /User/Details
Az alapértelmezett routing így amolyan általános szabályként működik, ami segíti pár egyszerű oldal üzembe helyezését. Természetesen ez csak akkor működik jól, ha minden tartalmad ugyanazt a "/[vezérlő neve]/[metódus neve]" sémát követi.
Amint eltérsz ettől, például mert nem szeretnéd, hogy a vezérlőd pontos neve megjelenjen a URL-ben, akkor saját szabályokat kell megadnod. Semmi pánik - ugyanúgy hagyatkozhatsz az alapértelmezett routingra, mivel megadhatsz saját szabályokat úgy, hogy azok előbb legyenek alkalmazva. Erről többet a későbbiekben.
Összefoglalás
A routing a URL-ek (amikkel a felhasználó egy bizonyos oldalhoz vagy funkcionalitáshoz jut) egy vezérlőn lévő metódushoz való illesztése. Ez a metódus felelős az URL-re való válasz alkotásáért. Az alapértelmezett routingnak köszönhetően ez nagyon könnyű, de bonyolultabb helyzetekben szükséged lesz saját útvonalak megadására. Erről fogunk beszélni a következő pár cikkben.