2015-06-08 4 views
1

один мой контроллер не может загрузить "Index" .for Например:Asp.net MVC маршрутизации Выпуск 403.14

http://localhost:51638/Reserve/ 

не work.but http://localhost:51638/Reserve/Index работ. , и эта проблема подходит только для одного из моих контроллеров, а другая - правильно. и мой RouteConfig является:

public static void RegisterRoutes(RouteCollection routes) 
     { 


      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

      // BotDetect requests must not be routed 
      routes.IgnoreRoute("{*botdetect}", 
       new { botdetect = @"(.*)BotDetectCaptcha\.ashx" }); 
      routes.MapRoute(
       name: "Default", 
       url: "{controller}/{action}/{id}", 
       defaults: new { controller = "UserHome", action = "Index", id = UrlParameter.Optional } 
      ); 
     } 

после удаления контроллера и добавить контроллер снова не исправить. и встречайтесь на этой странице ошибки:

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

и это мой контроллер код

public class ReserveController : Controller 
{ 
    // 
    // GET: /Reserve/ 
    public ActionResult Index() 
    { 
     return View(); 
    } 
} 
+0

Является ли ваш контроллер именем UserHomeController? –

+0

У вас есть каталог с именем Reserve под корнем приложения? Если это так, маршрутизация запутывается. – dbugger

+0

напишите здесь свой код контроллера, который должен помочь. – jaycyborg

ответ

2

Если у вас есть контроллер с именем Reserve Controller и каталог с именем Резерв, маршрутизация пойдет в каталог, если вы не предоставите полный маршрут. Вот почему вы получаете ошибку 403.14.

Итак, измените имя контроллера или каталога.

0

Вы можете добавить еще один routhe с маршрута по умолчанию для "Reserve"

routes.MapRoute(
       name: "Default", 
       url: "{controller}/{action}/{id}", 
       defaults: new { controller = "Reserve", action = "Index", id = UrlParameter.Optional } 
      ); 
+0

Я не хочу, чтобы страница «Зарезервировать» была моей начальной страницей. Просто я хочу быть доступной и загружать «Индекс». – AmirhosseinYari

+0

этот адрес запрещен, я не знаю, почему: http: // localhost: 51638/Reserve/ – AmirhosseinYari

+3

Если у вас есть контроллер с именем ReserveController и каталог с именем Reserve, маршрутизация перейдет в каталог, если вы не предоставите полный маршрут , Вот почему вы получаете ошибку 403.14. Поэтому измените имя контроллера или каталога. – dbugger

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