2010-05-05 46 views
4

我在子域中運行MVC
http://test.domain.com指向我的webhost4life帳戶上的/ Test目錄。在子域中運行ASP.NET MVC會使Html.ActionLink呈現斷開的鏈接

Html.ActionLink("About", "About", "Home") 

它呈現一個鏈接到

http://test.domain.com/Test/Home/About - 這給出了一個404

鏈接應該..

http://test.domain.com/Home/About

有沒有辦法覆蓋ActionLink應該在渲染上省略/ Test?

謝謝


實驗1

我添加了一個路線是這樣的表...

routes.MapRoute(
    "Test", // Route name 
    "Test/{controller}/{action}/{id}", // URL with parameters 
    new { controller = "Home", action = "Index", id = "" } // Parameter defaults 
); 

現在行動鏈接使得像這樣的鏈接.. http://test.domain.com/Test/Test/Home/About/ 當點擊它時,確實是n ot給404一個,但給首頁控制器行動。

結果

沒有更多的壞鏈接,但該網站呈現難看的URL。

+0

它應該按照你想要的方式工作。但顯然這不是......我很懷疑你的描述中有什麼缺失。 – Scrappydog 2010-05-06 12:08:17

+0

什麼是應用程序的根文件夾?它好像是坐在根目錄下,而不是在你的子文件夾中。 – 2010-05-10 08:28:56

+0

將文件複製到/ Test目錄。 在webhost4life iis管理控制檯中, /Test文件夾已被創建爲應用程序目錄並且 /Test文件夾也被設置爲虛擬目錄(當它被設置爲應用程序目錄時會自動發生)。 子域中的指點經理, subdomian test.domain.com點/測試 感謝 – eiu165 2010-05-10 17:22:38

回答

0

對於使用大量子域的網站,我使用ITCloud提供的名爲UrlRouteAttribute的漂亮MVC擴展。它允許您爲每個操作分配一個路由作爲設置路徑和名稱的屬性。我已經擴展了這個以允許完全限定的路徑 - 所以要包含控制器應該附加的域/子域。如果這是你感興趣的東西,我會在某處上傳一個副本。

+0

它看起來製作的路線非常簡單。我在http://itcloud.codeplex.com/看到它,它看起來不錯,如果你有一個你可以發佈的樣本,我很樂意看到它。 – eiu165 2010-05-21 19:10:36

相關問題