Я создал контроллер с именем «Services», который работает нормально, за исключением того, что действие по умолчанию не работает.Более конкретно, когда я пытаюсь достичь .../Services
, я получаю
HTTP Ошибка 403.14 - Запрещена
ошибка, но .../Services/Index
работает.Все остальные контроллеры работают нормально.Что я делаю не так или есть какие-то зарезервированные маршруты или что-то в этом роде?Я удалил «IgnoreRoute» в RouteConfig
, но все еще не работает.
Это код контроллера:
public class ServicesController : Controller
{
private ApplicationDbContext db = new ApplicationDbContext();
// GET: Services
public ActionResult Index(int CategoryId = -1)
{
if (CategoryId == -1)
{
var services = db.Services.Include(s => s.ServiceCategory).Include( i => i.Images);
return View(services.ToList());
}
else
{
var services = db.Services.Where(r => r.ServiceCategoryId == CategoryId).Include(p => p.ServiceCategory).Include(i => i.Images);
return View(services.ToList());
}
}
}
И конфигурация маршрута:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
Редактировать: Я нашел причину, у меня есть папка с именем "Services" внутри решения проекта.Но я думаю, что это поведение неприемлемо, поэтому мой вопрос, каково решение для этого?