A MVC, l'encaminament és un procés de mapejar la sol·licitud del navegador amb l'acció del controlador i retornar la resposta. Cada aplicació MVC té un encaminament predeterminat HomeController . Podem configurar l'encaminament personalitzat per al controlador de nova creació.
El RouteConfig.cs s'utilitza per establir l'encaminament de l'aplicació. Inicialment conté el codi següent.
// 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 } ); } } }
D'acord amb aquest fitxer de configuració, l'acció d'índex del controlador Home es tractarà com a predeterminada. La primera vegada, quan l'aplicació s'executa, produeix la següent sortida.
Si mirem la barra d'adreces, només conté localhost:52174 . No hi ha cap controlador i s'especifica l'acció perquè l'encaminador MVC mapeja el controlador des de RouteConfig.cs.
Si introduïm explícitament els noms del controlador i de l'acció a la barra d'adreces, es redirigirà a la mateixa acció. El localhost:52174/Home/Index produirà la mateixa sortida al navegador.
Ara, creem un nou controlador i configurem-lo al fitxer de ruta. Feu clic amb el botó dret a Controlador carpeta i seleccioneu afegir després controlador. Apareixerà una finestra. seleccioneu un controlador buit com vam fer a la captura de pantalla.
Aquest controlador té algun codi font, substituïu-lo amb el codi següent.
// StudentsController.cs
using System.Web.Mvc; namespace MvcApplicationDemo.Controllers { public class StudentsController : Controller { public ContentResult Index() { return Content('This is default student page'); } } }
Per configurar aquest controlador al fitxer de ruta, hem fet alguns canvis a RouteConfig.cs dossier. El codi es mostra a continuació.
// 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 } ); } } }
Aquesta aplicació produeix la mateixa sortida per localhost:52174 i localhost:52174/Students/Index
Com que el mòdul de ruta del marc MVC mapeja l'URL del navegador al fitxer RouteConfig del projecte.
Sortida:
tutorial javafx
Això és el mateix que l'anterior, fins i tot hem introduït els noms dels controladors i les accions de manera explícita.