2009-06-10 44 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