routeconfig route net mvc maproute examples custom attribute asp c# asp.net routing routes custom-routes

c# - mvc - route attribute asp net core



Enrutamiento de URL para un nĂºmero desconocido de params (1)

He visto esta publicación: MVC Handler para un número desconocido de parámetros opcionales, pero es para MVC y no parece funcionar para mí, ya que recibo un error:

A path segment that contains more than one section, such as a literal section or a parameter, cannot contain a catch-all parameter.

Quiero poder tener una cantidad indeterminada de params en una Url, tengo la siguiente ruta:

RouteCollection.MapPageRoute("ManyParam", "{*params}.html", "~/Default.aspx");

Esto también parece desencadenar el mensaje de error anterior.

¿Cómo puedo configurar una ruta para tener un número desconocido de parámetros en formularios web (no MVC)?

Estoy tratando de lograr las siguientes URL:

www.example.com/some-thing.html www.example.com/some-thing/else.html www.example.com/and/some-thing/else.html www.example.com/1/2/3/4/5/6.html

EDITAR

Parece que funciona cuando uso lo siguiente:

RouteCollection.MapPageRoute("ManyParam", "{*params}", "~/Default.aspx");

El problema es con esto es que no permite el .html al final.


Ruta no comprobada a continuación: el comodín debe ser la última porción de Url. Entonces, para forzar ".html" al final, necesitas usar la restricción (5to argumento).

routes.MapPageRoute( "ManyParam", "{*path}", "~/Default.aspx", false, new RouteValueDictionary(), new RouteValueDictionary { { "path", @".*/.html" } } );