Индекс контроллера MVC иногда 404?

Я добавил 3 контроллера, и для одного из них представление индекса не работает по умолчанию.

Works(shows index):
http://localhost:1767/Employees/  
http://localhost:1767/Employees/Index
http://localhost:1767/Home/       
http://localhost:1767/Home/Index
http://localhost:1767/
http://localhost:1767/Companies/Index

Doesn't work(gives 404 error):
http://localhost:1767/Companies/  

1) Я создал библиотеку классов инфраструктуры сущностей, созданную из база данных, содержащая таблицу сотрудников и компаний.

2) Создан пустой проект MVC 3.

3) Добавлена ​​ссылка на проект из проекта MVC в проект библиотеки классов EF.

4) Добавлен контроллер, и в диалоговом окне добавления контроллера я выбрал модель EF и одну из таблиц и назвал контроллер CompaniesController

5) Затем я вспомнил, что мне нужен HomeController, поэтому я добавил еще один контроллер, назвав его HomeController, и снова выбрал объект Companies.

6) Наконец, я добавил EmployeesController, выбирая объект Employees.

Это единственный маршрут в моем Global.asax.cs:

routes.MapRoute(
          "Default", // Route name
          "{controller}/{action}/{id}", // URL with parameters
          new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults

Почему не http: // localhost: 1767 / Компании / URL по умолчанию для действия индекса, как и все другие контроллеры? Я выполнил несколько практических проектов MVC и, похоже, всегда сталкивался с этой проблемой. Контроллер сотрудников, по умолчанию настроенный на индекс, работает нормально,даже при том, что нет маршрута, который велит ему это сделать?

Edit: Вот ошибка, которую я получаю:

The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly.

Requested URL: /Companies/

Edit: Поэтому я обычно не раскрываю имена своих сущностей или детали домена при размещении примеров в Интернете, но в этом случае «Компании» на самом деле назывались «Свойства», и изменение имени на «Свойства2» для папки просмотра и контроллера устранило проблему. Таким образом, кажется, что Properties - это специальное ключевое слово, которое нарушает значение индекса по умолчанию, если оно появляется в URL-адресе

5
задан AaronLS 13 July 2011 в 21:58
поделиться