2009-06-10 46 views
0

全球化的原因,我需要能夠做到這一點:如何使用另一個控制器的視圖?

http://mysite/home 
http://mysite/Accueil 

我試過是繼承了家庭控制在我的ACCUEIL類:

Public Class AccueilController 
    Inherits HomeController 

End Class 

的問題是,它試圖進入ACCUEIL文件夾,查找的Index.aspx有

The view 'Index' or its master could not be found. The following locations were searched: 
~/Views/Accueil/Index.aspx 
~/Views/Accueil/Index.ascx 
~/Views/Shared/Index.aspx 
~/Views/Shared/Index.ascx 

我希望它用,所以我沒有重複的代碼

~/Views/Home/Index.aspx 

什麼是最簡單的方法呢?

回答

2

您是說全球化的原因,你需要有兩個URL呈現相同的看法。在這種情況下,我會建議你使用路由引擎並將地圖Accueil設置爲home

routes.MapRoute(
    "accueil", 
    "Accueil/{action}", 
    new 
    { 
     controller = "Home", 
     action = "Index" 
    } 
); 
0

錯誤消息包含您的答案。視圖引擎執行漸進式搜索,以匹配在一組配置的文件夾中移動的視圖。如果你想要一個共享的索引視圖,把Index.aspx文件放在〜/ Views/Shared /中,那應該可以做到。

如果您需要更靈活的視圖位置,您可以考慮實現自定義ViewLocator。

http://blogs.teamb.com/craigstuntz/2008/07/31/37827/

+0

問題是,一切都將被放在那裏,如果我開始從每一個控制器這樣的大這樣做,一切都沒有任何 – Fredou 2009-06-10 16:21:17