Справка по.NET MVC URL Routing

Я пытаюсь настроить ErrorController в своем приложении.NET MVC, и в настоящее время я не могу выполнить какие-либо действия на контроллере, поэтому я полагаю, что это может быть связано с тем, что мне нужно зарегистрировать маршрут URL в global.asax.

Ошибка контроллера заключается в следующем:

public class ErrorController: Controller
{

    /*Default Redirect Error Page*/
    public ActionResult Index()
    {
        return View();
    }
    /*Generic Error Page*/
    public ActionResult Generic()
    {
        return View();
    }
    /*Status Code: 400*/
    public ActionResult NotFound()
    {
        return View();
    }
}

Я хотел бы иметь возможность вызывать действия выше по следующим URL соответственно.

~ / Error /
~ / Error / Generic
~ / Error / NotFound

Я считаю, что в файле Global.asax мне нужно зарегистрировать эти маршруты, используя что-то вроде следующего:

routes.Add(new Route("error/{action}", new MvcRouteHandler())){controller = "Error", action = "";

Как мне добавить / указать правильный обработчик маршрута для этого?

1 ответ

Решение

Я считаю, что URL-адрес по умолчанию, предоставленный в global.asax, будет работать для вашего URL-адреса, но если вам нужен конкретный URL-адрес, тогда перейдите к:

routes.MapRoute(
      "Error", // Route name
      "error/{action}", // URL without parameters
       new { controller = "Error", action = "Index" }, // Parameter defaults
);

и если вы хотите параметры:

routes.MapRoute(
      "Error", // Route name
      "error/{action}/{param}", // URL with parameters
       new { controller = "Error", action = "Index", param = UrlParameter.Optional }, // Parameter defaults
);
Другие вопросы по тегам