Справка по маршрутизации URL-адресов .NET MVC

Я пытаюсь настроить 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-адресам соответственно.

~/Ошибка/
~/Ошибка/Общий
~/Ошибка/Не найдено

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

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

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


person TheJediCowboy    schedule 02.08.2011    source источник


Ответы (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
);
person Shaokan    schedule 02.08.2011