我试图建立,将采取Test/page?id=XXX
下,无论发生什么事,并触发我的路由处理自定义路线。
我的问题是如何获得价值
的ID这是我心目中
RouteTable.Routes.Add("Test", new Route("Test/page?id=XXX}", new RouteHandler()));
我试图建立,将采取Test/page?id=XXX
下,无论发生什么事,并触发我的路由处理自定义路线。
我的问题是如何获得价值
的ID这是我心目中
RouteTable.Routes.Add("Test", new Route("Test/page?id=XXX}", new RouteHandler()));
这个版本是在Global.asax中使用,但尝试:
routes.MapRoute(
"Test",
"Test/page?id={id}",
new { controller = "Test", action = "Index" },
new { id = @"\d+" }
);
最后一个可选参数会将id的值限制为数字,以获得更好的确定性。
假设测试是控制器和页面是动作
RouteTable.Routes.Add(new Route
{
Url = "[controller]/[action]/[id]"
Defaults = new { action = "Index", id (string) null },
RouteHandler = typeof(MvcRouteHandler)
});
但路由是非常依赖于上下文的。您需要查看其他路线并确保此路线按正确顺序排列。
这个工作,如果我想从一个传入的URL重定向,如:www.some.com/test/page.aspx?id=44 – user426719 2011-04-21 19:14:12
你想在哪里路由上述URL?要调用哪个动作方法? – neebz 2011-04-21 19:16:49
我想触发一个自定义处理程序,它将执行基本的服务器重定向RouteTable.Routes.Add(“Test”,new Route(“Test/page.aspx?id = XXX}”,new RouteHandler())); – user426719 2011-04-21 19:22:57
if (RouteData.Values.ContainsKey("customerId")) return RouteData.Values["customerId"].ToString();
你的意思是你有一个自定义的'RouteHandler'类? – 2011-04-22 08:26:03