2015-01-25 2 views
1

Я добавил вторую область, как показано ниже;URL-адрес маршрута, который не работает должным образом для области

public class MerchantAreaRegistration : AreaRegistration 
{ 
    public override string AreaName 
    { 
     get 
     { 
      return "Merchant"; 
     } 
    } 

    public override void RegisterArea(AreaRegistrationContext context) 
    { 
     context.MapRoute(
      "Merchant_default", 
      "Merchant/{controller}/{action}/{id}", 
      new { controller = "Home", action = "Index", area = "Merchant", id = "" }, 
      new[] { "Dplus.Merchant.Controllers" } 
     ); 
    } 
} 

Когда я введите URL-адрес в качестве http://localhost:7190/merchant/home. Все работает отлично, но когда я набираю http://localhost:7190/merchant (без имени контроллера), то я получаю следующую ошибку;

Ошибка HTTP 403.14 - Запрещено Веб-сервер настроен так, чтобы не отображать содержимое этого каталога.

У меня есть подобный район под названием «Admin» и точный код работает для него. Но для этой второй области это не так.

+1

У вас есть папка в корне с именем 'merchant', я подозреваю, что вы это сделали, потому что она пытается перечислить ее содержимое. –

+1

У вас есть каталог в папке «Торговец». MVC передаст это и попытается перечислить содержимое. –

+0

Да, у меня есть, потому что я использовал пользовательские механизмы просмотра. –

ответ

0

В соответствии с комментарием @Erik, My Название и название области совпадает с. В основном я использую настраиваемый механизм просмотра. Итак, что я сделал, это изменить имя каталога на нечто иное, чем имя MVC Area, например AdministrationMerchant
Теперь просматривается тот же URL-адрес!