我正在编写一个 httpModule 来拦截到达 ASP.NET MVC 应用程序的请求。有没有一种简单的方法来确定 URL 的哪一部分构成区域、控制器、操作和实际值。
例如 www.mysite.com/category/products/GetDetails/101
类别:区域产品:控制器GetDetails:动作101:productId
有没有一种简单的方法可以从 RouteEngine 或其他东西中返回...
我正在编写一个 httpModule 来拦截到达 ASP.NET MVC 应用程序的请求。有没有一种简单的方法来确定 URL 的哪一部分构成区域、控制器、操作和实际值。
例如 www.mysite.com/category/products/GetDetails/101
类别:区域产品:控制器GetDetails:动作101:productId
有没有一种简单的方法可以从 RouteEngine 或其他东西中返回...
应该能帮到你,答案也在这里。
像这样的路线可能会起作用:
routes.MapRoute(
"category", // Route name
"~/category/products/getdetails/{ProductId}", // URL with parameters
new { controller = "products", action = "getdetails" },
new { ProductId = "\\w+" });
这会将 ProductId 作为变量映射到产品控制器的 getdetails 操作。