как использовать вид с другого контроллера? - PullRequest
0 голосов
/ 10 июня 2009

по причине глобализации, я должен быть в состоянии сделать это:

 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

Какой самый простой способ сделать это?

Ответы [ 3 ]

2 голосов
/ 10 июня 2009

Вы говорите, что по причинам глобализации вам нужно, чтобы оба URL отображали одно и то же представление. В этом случае я бы предложил вам использовать механизм маршрутизации и сопоставить Accueil с home.

routes.MapRoute(
    "accueil",
    "Accueil/{action}",
    new 
    { 
        controller = "Home", 
        action = "Index"
    }
);
0 голосов
/ 10 июня 2009

Сообщение об ошибке содержит ваш ответ. Механизм представления выполняет последовательный поиск подходящего представления, которое перемещается через набор настроенных папок. Если вам нужно общее представление индекса, поместите файл Index.aspx в ~ / Views / Shared /, и это должно сработать.

Если вам нужны более гибкие местоположения просмотра, вы можете изучить реализацию пользовательского ViewLocator.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...