Estoy empezando con ASP.NET MVC.ASP.NET MVC - MapRoute versus routes.Add (y 404s)
¿Cuál es la diferencia entre MapRoute y routes.Add? ¿Debería estar usando MapRoute? ¿Puedo mapear múltiples rutas? ¿Qué "mapas" tienen prioridad ... los que llamaste primero o último?
Me gustaría poder hacer algo similar a lo que StackOverflow hace por los usuarios. Pero me gustaría que la dirección URL para adaptarse a este patrón:
"Usuario/{} de dominio/nombre de usuario {}" a ser encaminado a un UserController
y para todas las demás peticiones que hacer la típica enrutamiento ASP.NET MVC. por ejemplo:
routes.MapRoute(
"Default", "{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
ACTUALIZACIÓN:
Cuando se utiliza la URL: http://localhost:3962/User/MYDOMAIN/BTYNDALL
me sale el error: HTTP 404. El recurso que busca (o una de sus dependencias) podría haber sido retirado, cambió su nombre, o está temporalmente no disponible.
Aquí está el código que estoy usando:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"User",
"User/{domain}/{username}",
new { controller = "User", action = "Index" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
}
Su actualización de esta pregunta es realmente una pregunta diferente ... ¿Seguro que quiere mezclarlos? – DSO
Puede pegar el código del método Index en el controlador de usuario. – JMS
DSO, tal vez. Mis suposiciones sobre la forma en que funcionan las rutas fueron correctas. Las rutas establecidas primero tienen prioridad, confirmadas por Brannon. Pero estoy obteniendo este raro error 404. Tal vez otros usuarios se toparán con esto al mismo tiempo que tienen preguntas acerca de la prioridad de enrutamiento. – BuddyJoe