ASP.NET MVC从URL中提取控制器,动作和值

时间:2011-10-06 19:24:10

标签: asp.net-mvc-2 routing ihttpmodule

我正在编写一个httpModule来拦截即将发布到ASP.NET MVC应用程序的请求。有没有一种简单的方法可以确定URL的哪个部分构成区域,控制器,操作和实际值。

e.g。 www.mysite.com/category/products/GetDetails/101

类别:区域 产品:控制器 GetDetails:行动 101:productId

有没有一种简单的方法可以从RouteEngine或其他东西...

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

这样的路线可能有效:

routes.MapRoute(
            "category", // Route name
            "~/category/products/getdetails/{ProductId}", // URL with parameters
            new { controller = "products", action = "getdetails" },
            new { ProductId = "\\w+" });

这会将ProductId作为变量映射到产品控制器的getdetails操作。