如何找到匹配网址的路由?

时间:2012-04-09 18:43:21

标签: asp.net-mvc asp.net-mvc-3

如何在ASP.NET MVC中找到与字符串url匹配的路由?

这不是为了调试。

我正在使用Request.UrlReferrer生成链接,但我们需要将其限制为应用程序中的特定控制器操作。理想情况下,我们会这样:

@Url.PreviousUrl(
    default: Url.Action("index", "home")
    validRoutes: new[] { 
        new { controller = "list", "projects" }
        new { controller = "tagged", "projects" },
        new { controller = "details", "category" }
    }
);

如果UrlReferrer匹配任何这些路线,那么我们将重定向到它,否则我们将重定向到指定的默认网址。

1 个答案:

答案 0 :(得分:3)

您可以按如下方式调用GetRouteData。可能有更好的方法,但我在单元测试中使用了相似的方法

http://bradwilson.typepad.com/blog/2010/07/testing-routing-and-url-generation-in-aspnet-mvc.html