logo

Enrutamiento ASP.NET MVC

En MVC, el enrutamiento es un proceso de mapear la solicitud del navegador a la acción del controlador y devolver la respuesta. Cada aplicación MVC tiene enrutamiento predeterminado para el valor predeterminado InicioControlador . Podemos configurar un enrutamiento personalizado para el controlador recién creado.

El RutaConfig.cs El archivo se utiliza para configurar el enrutamiento de la aplicación. Inicialmente contiene el siguiente código.

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

Según este archivo de configuración, la acción de índice del controlador de inicio se tratará como predeterminada. La primera vez, cuando se ejecuta la aplicación, produce el siguiente resultado.

Enrutamiento ASP 1

Si miramos la barra de direcciones, solo contiene servidor local: 52174 . No hay ningún controlador y se especifica una acción porque el enrutador MVC asigna el controlador desde el RutaConfig.cs.

Si ingresamos explícitamente los nombres del controlador y de la acción en la barra de direcciones, se redireccionará a la misma acción. El localhost:52174/Inicio/Índice producirá el mismo resultado en el navegador.

Enrutamiento ASP 2

Ahora, creemos un nuevo controlador y configurémoslo en el archivo de ruta. Haga clic derecho en el Controlador carpeta y seleccione agregar luego controlador. Aparecerá una ventana. seleccione un controlador vacío como lo hicimos en la captura de pantalla.

Enrutamiento ASP 3

Este controlador tiene algún código fuente, anule esto con el siguiente código.

// EstudiantesController.cs

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

Para configurar este controlador en el archivo de ruta, hemos realizado algunos cambios en RutaConfig.cs archivo. El código se proporciona a continuación.

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

Esta aplicación produce el mismo resultado para servidor local: 52174 y localhost:52174/Estudiantes/Índice

Porque el módulo de ruta del marco MVC asigna la URL del navegador al archivo RouteConfig del proyecto.

Producción:

ejemplos de programas en Python

Enrutamiento ASP 4

Esto es lo mismo que lo anterior, incluso si hemos ingresado explícitamente los nombres del controlador y de la acción.

Enrutamiento ASP 5