logo

ASP.NET MVC maršrutēšana

MVC maršrutēšana ir process, kurā pārlūkprogrammas pieprasījums tiek kartēts ar kontroliera darbību un tiek atgriezta atbilde. Katrai MVC lietojumprogrammai ir noklusējuma maršrutēšana HomeController . Mēs varam iestatīt pielāgotu maršrutēšanu jaunizveidotajam kontrollerim.

The RouteConfig.cs fails tiek izmantots, lai iestatītu lietojumprogrammas maršrutēšanu. Sākotnēji tas satur šādu kodu.

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

Saskaņā ar šo iestatīšanas failu mājas kontrollera rādītāja darbība tiks uzskatīta par noklusējuma darbību. Pirmo reizi, kad lietojumprogramma darbojas, tā rada šādu izvadi.

ASP maršrutēšana 1

Ja skatāmies uz adreses joslu, tajā ir tikai vietējais saimnieks:52174 . Nav kontroliera, un darbība ir norādīta, jo MVC maršrutētājs kartē kontrolieri no RouteConfig.cs.

Ja adreses joslā mēs skaidri ievadīsim kontroliera un darbību nosaukumus, tas tiks novirzīts uz to pašu darbību. The localhost:52174/Sākums/Indekss radīs tādu pašu izvadi pārlūkprogrammai.

ASP maršrutēšana 2

Tagad izveidosim jaunu kontrolleri un konfigurēsim to maršruta failā. Ar peles labo pogu noklikšķiniet uz Kontrolieris mapi un atlasiet pievienot, pēc tam kontrolieri. Tas parādīs logu. atlasiet tukšu kontrolieri, kā mēs to darījām ekrānuzņēmumā.

ASP maršrutēšana 3

Šim kontrollerim ir avota kods, ignorējiet to ar šādu kodu.

// StudentsController.cs

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

Lai konfigurētu šo kontrolleri maršruta failā, esam veikuši dažas izmaiņas RouteConfig.cs failu. Kods ir norādīts zemāk.

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

Šī lietojumprogramma rada tādu pašu izvadi vietējais saimnieks:52174 un localhost:52174/Students/Index

Tā kā MVC ietvara maršruta modulis kartē pārlūkprogrammas URL ar projekta RouteConfig failu.

Izvade:

noķer un izmēģini javu

ASP maršrutēšana 4

Tas ir tāds pats kā iepriekš, pat mēs esam skaidri ievadījuši kontroliera un darbību nosaukumus.

ASP maršrutēšana 5