我需要RoutData通过ASP.NET MVC应用程序中的给定URL字符串来获取.
我找到了HttpContextBase基于URL字符串模拟的RouteTable.Routes.GetRouteData()方法,然后将其传递给Route Parsing(Uri to Route)线程中的方法.
如何使用URL字符串模拟HttpContextBase检索?RouteDataRouteTable.Routes.GetRouteData()
或者是否有另一种RouteData通过URL 检索的方法?
我想测试一个URL是否是在中定义的路由的一部分Global.asax.这就是我所拥有的:
var TheRequest = HttpContext.Current.Request.Url.AbsolutePath.ToString();
var TheRoutes = System.Web.Routing.RouteTable.Routes;
foreach (var TheRoute in TheRoutes)
{
if (TheRequest == TheRoute.Url) //problem here
{
RequestIsInRoutes = true;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我无法从路由中提取URL.我需要改变什么?
我在我的一个控制器的动作中有一个String,代表一个引用URL.当前请求的路由数据不是我正在寻找的(因为它是从另一个视图中的脚本标记调用的).
我想找到引用Url的Action和Controller.
我有什么方法可以手动使用像"/ Product/23"这样的字符串来查找控制器并将字符串作为url生成的操作?