У меня действительно странный вопрос, который я не могу понять.Я не специалист по маршрутизации, но это должно быть прямо.
У меня есть контроллер под названием NewsletterController, и он имеет типичный индекс ActionResult.Если я запускаю свой сайт в режиме отладки и использую ссылку для перехода в раздел «Рассылка», я получаю сообщение 403.14 Forbidden
.Если я добавлю «Индекс» к маршруту, то он просто перейдет в ActionResult.У меня есть другие контроллеры, настроенные с Index ActionResult точно таким же образом и работают просто отлично.Это что-то в этом конкретном контроллере, которое не работает, и я просто не вижу, в чем проблема.
Это код моего контроллера:
public class NewsletterController : Controller
{
public ActionResult Index()
{
var vm = new NewsletterViewModel();
...CODE REMOVED FOR SPACE
return View(vm);
}
}
Это ссылка действия из моего _Layout.cshtml:
@Html.ActionLink("Newsletters", "Index", "Newsletter", null, new { @class = "nav-link" })
Мой класс маршрутизации
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 }
);
}
}
Если я пойду сюда, я получу сообщение 403.14 Forbidden
.
http://localhost:59571/Newsletter/
Если я добавлю указатель к маршруту, он перейдет на страницу.
http://localhost:59571/Newsletter/index