2011-08-05 77 views
1

我有一個Asp.net MVC 2項目。我的起始頁有以下鏈接:Asp.net MVC阻止自動轉換url

http://localhost:2666/Home/Index?SomeID=4f62c452-4513-4dd0-b235-830d721815e4 

但是當我使用RedirectToAction方法將變更爲下述短版:

http://localhost:2666/?SomeID=4f62c452-4513-4dd0-b235-830d721815e4 

我想包括一個鏈接到一個相對URL。 (例如「xyz/test」,它應該被轉換爲「http:// localhost:2666/xyz/test」,如果URL被改變,它不起作用。我可以以某種方式防止這種情況 - 還是有更好的另一種解決這個的)方式

回答

3

如果您在Global.asax你的「默認」的路線前加上這樣的事情應該爲你工作

routes.MapRoute(
    "xyzRoute",           
    "xyz/test",       
    new { controller = "xyz", action = "test" } 
); 
+0

你是正確的,工作 - ?!謝謝雖然。我真的不明白爲什麼它會起作用,你有什麼機會給我一點提示嗎? – Preli

+0

「默認」路由是一種捕獲所有和任何時候你擊中控制器的「索引」,它將剝離「控制器/索引「。通過在」默認「之前添加」xyzRoute「,MVC將使用它而不會縮短在路線上。不知何故, –

+0

是有道理的。謝謝。 – Preli