Estoy tratando de configurar una ruta personalizada en MVC para tomar una URL desde otro sistema en el siguiente formato:¿Cómo enruto una URL con una cadena de consulta en ASP.NET MVC?
../ABC/ABC01?Key=123&Group=456
El 01 después de la segunda ABC es un número de paso esto va a cambiar y la clave y los parámetros del grupo cambiarán. Necesito dirigir esto a una acción en un controlador con la tecla numérica del paso y el grupo como parámetros. He intentado el siguiente código sin embargo, se produce una excepción:
Código:
routes.MapRoute(
"OpenCase",
"ABC/ABC{stepNo}?Key={key}&Group={group}",
new {controller = "ABC1", action = "OpenCase"}
);
Excepción:
`The route URL cannot start with a '/' or '~' character and it cannot contain a '?' character.`
Tenga en cuenta que MVC analiza automáticamente la cadena de consulta con el 'QueryStringValueProvider'. Todo lo que necesita hacer para obtener estos valores en un método de acción es agregar parámetros con el mismo nombre que las claves de cadena de consulta al método o modelo de acción. No es necesario crear su propio analizador de cadenas de consulta para esto. – NightOwl888