2013-12-23 4 views
0

Я добавил административную область на свой веб-сайт mvc 4, чтобы легко поддерживать свой сайт. Когда я нахожусь на mywebsite.com/admin/home, правый контроллер вызывается, но он переходит к моему неправильному домашнему виду.Площадь не использует правильный вид

Так что я одна области называется администратором и мои главные контроллеры сайтов и представления не в зоне (я не знаю, если это может вызвать проблемы)

Моих маршрутов:

 routes.MapRoute(
    name: "Admin_default", 
    url: "Admin/{controller}/{action}/{id}", 
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, 
    namespaces: new string[] { "Topsite.Areas.Admin.Controllers" } 
); 

    routes.MapRoute(
     name: "Default", 
     url: "{controller}/{action}/{id}", 
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, 
     namespaces: new string[] { "Topsite.Controllers" } 
    ); 

Примечание: У меня есть пользовательский механизм просмотра.

ViewEngine:

   AreaViewLocationFormats = new[] { 

     "~/Areas/{2}/Views/%1/{1}/{0}.cshtml", 

     "~/Areas/{2}/Views/%1/{1}/{0}.vbhtml", 

     "~/Areas/{2}/Views/%1/Shared/{0}.cshtml", 

     "~/Areas/{2}/Views/%1/Shared/{0}.vbhtml" 

    }; 


    AreaMasterLocationFormats = new[] { 

     "~/Areas/{2}/Views/%1/{1}/{0}.cshtml", 

     "~/Areas/{2}/Views/%1/{1}/{0}.vbhtml", 

     "~/Areas/{2}/Views/%1/Shared/{0}.cshtml", 

     "~/Areas/{2}/Views/%1/Shared/{0}.vbhtml" 

    }; 


    AreaPartialViewLocationFormats = new[] { 

     "~/Areas/{2}/Views/%1/{1}/{0}.cshtml", 

     "~/Areas/{2}/Views/%1/{1}/{0}.vbhtml", 

     "~/Areas/{2}/Views/%1/Shared/{0}.cshtml", 

     "~/Areas/{2}/Views/%1/Shared/{0}.vbhtml" 

    }; 



    ViewLocationFormats = new[] { 

     "~/Themes/" + Theme + "/Views/{1}/{0}.cshtml", 

     "~/Themes/" + Theme + "/Views/%1/Shared/{0}.cshtml", 

    }; 



    MasterLocationFormats = new[] { 

    "~/Themes/" + Theme + "/Views/%1/{1}/{0}.cshtml", 

    "~/Themes/" + Theme + "/Views/%1/Shared/{0}.cshtml", 


    }; 


    PartialViewLocationFormats = new[] { 

     "~/Themes/" + Theme + "/Views/%1/{1}/{0}.cshtml", 

     "~/Themes/" + Theme + "/Views/%1/{1}/{0}.vbhtml", 

      "~/Themes/" + Theme + "/Views/%1/Shared/{0}.cshtml", 

     "~/Themes/" + Theme + "/Views/%1/Shared/{0}.vbhtml" 

    }; 

Если кто-то может помочь мне, что было бы здорово!

Сообщите мне, если вам нужно что-нибудь еще.

ответ

0

Вы просто должны добавить файл с именем:

_ViewStart.cshtml 

Под каждой области рассматривает папку, и отредактировать файл, чтобы указать на корневой макете, как это:

@{ 
    Layout = "~/Areas/Admin/Shared/Views/_Layout.cshtml"; 
} 
+0

К сожалению, это не решить проблему, я добавил файл, но он переходит в неправильный файл startstart. – Jamie

+0

Вы забыли свой заказ в Global.asax? –

+0

Да, я зарегистрировал его там – Jamie

Смежные вопросы