Я думаю, что вы ищете способ получить значения маршрута по заданному URL. Вот некоторый код, который может помочь вам сделать это с помощью строки URL. Просто отметьте, что я поместил интерфейс IRouteRegistrant, который просто имеет функцию Register, которая принимает коллекцию маршрутов. В основном замените это своим механизмом регистрации.
public static RouteData GetRouteValues(IRouteRegistrant registrant, string url)
{
var routes = new RouteCollection();
registrant.Register(routes);
var context = new FakeHttpContext(url);
return routes.GetRouteData(context);
}
Итак, чтобы получить значения (для вашего примера параметра), вам просто нужно следующее:
public static void MyFn()
{
var values = GetRouteValues(....., "~/Edit/5");
var paramValue = values.Values["param"];
.....
}
Надеюсь, это поможет.