2012-06-30 4 views
0

У меня есть базовый проект с областями в нем, я зарегистрировал свои маршруты в этой области и использовал расширение нижнего регистра. Вот код:C# MVC 4, Area Routes, используя основные виды?

using System.Web.Mvc; 

using Web.Modules; 

namespace Web.Areas.Services 
{ 
    public class ServicesAreaRegistration : AreaRegistration 
    { 
     public override string AreaName 
     { 
      get 
      { 
       return "Services"; 
      } 
     } 

     public override void RegisterArea(AreaRegistrationContext context) 
     { 
      context.MapRouteLowercase(
       "Services", // Route name 
       "services/{controller}/{action}/{id}", // URL with parameters 
       new { controller = "Services", action = "Index", id = UrlParameter.Optional }, // Parameter defaults 
       new string[] { "Web.Areas.Services" } 
      ); 
     } 
    } 
} 

Но теперь, когда я иду в http://localhost/services/home он показывает мне мой HomeController Индекса View, что я могу сделать, чтобы исправить это? Я уже добавил пространства имен и добавил область в routedata.

Спасибо за любую помощь

ответ

1

Похоже, вы либо не имеете Areas папки/Услуги/Views/Home на все или представление индекса в этой папке. В этом случае ASP.NET MVC вернется к отображению вашего указателя в папке Views/Home (no area). Если вам нужен другой вид для вашей области, вам необходимо создать его в папке «Виды/[Имя контроллера]] (или, конечно, общая папка).

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