Witam,

Chciałbym stworzyć unikalny dla siebie routing, który powinien wyglądać następująco:

context.MapRoute(
                name: "Generator_default",
                url: "Generator/{controller}/{action}/{id}-{mode}",
                defaults: new { type = UrlParameter.Optional },
                constraints: new {  }
            );

controller -> może być wyłącznie jeden z 5 konkretnych
action -> zawsze "index"
id -> liczba całkowita większa od 0 (to wiem akurat jak zrobić mam nadzieje że poprawnie, prezentuje to w kodzie poniżej)
mode -> i tutaj największy problem ponieważ, ponieważ mam różne nazwy zawarte w zmiennej "enum mode (create, edit, delete, details)" i chciałbym je przekazać w linku a nie chciałbym aby to wyglądało np. mode.Create, oczywiście podobnie jak w controller też będą te wartości ograniczały się do tych zawartych w enum

public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
        {
            try
            {
                int x = Convert.ToInt32(values["id"]);

                return (x > 0);
            }
            catch
            {
                return false;
            }
        }

Nie liczę oczywiście na rozwiązanie tego problemu, mam dwie książki która nie opisuje wystarczająco tego tematu aby takie ograniczenie routingu stworzyć, proszę jedynie o nakierowanie mnie od czego zacząć bądź artykuły pomocne w tym temacie.