Я пытаюсь получить URL из моей таблицы маршрутов. Вот метод.
private static void RedirectToRoute(ActionExecutingContext context, string param)
{
var actionName = context.ActionDescriptor.ActionName;
var controllerName = context.ActionDescriptor.ControllerDescriptor.ControllerName;
var rc = new RequestContext(context.HttpContext, context.RouteData);
string url = RouteTable.Routes.GetVirtualPath(rc, new RouteValueDictionary(new { actionName = actionName, controller = controllerName, parameter = param })).VirtualPath;
context.HttpContext.Response.Redirect(url, true);
}
Я пытаюсь сопоставить это с. Однако RouteTable.Routes.GetVirtualPath (rc, новый RouteValueDictionary (new {actionName = actionName, controller = controllerName, параметр = param})) продолжает давать мне ноль. Есть мысли?
routes.MapRoute(
"default3", // Route name
"{parameter}/{controller}/{action}", // URL with parameters
new { parameter= "parameterValue", controller = "Home", action = "Index" }
);
Я знаю, что могу использовать redirectToAction и другие методы, но я хотел бы изменить URL-адрес в браузере новыми маршрутизированными данными.