我試圖建立,將採取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