Обработка несуществующих действий контроллера ASP.NET MVC
При получении HTTP-запроса к несуществующему действию контроллера ASP.NET MVC, можно по-разному обрабатывать эту ситуацию. Одним из вариантов является переопределение метода HandleUnknownAction
.
Допустим в нашем приложении есть контроллер:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
}
При стандартной настройке маршрутов мы можем обратиться к контроллеру по адресу /home/index
и страница отобразится пользователю.
В случае, если мы обратимся по адресу, соответствующему несуществующему контроллеру, мы получим HTTP 404
.
Чтобы исправить эту ситуацию, переопределим метод HandleUnknownAction
для данного контроллера:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
protected override void HandleUnknownAction(string actionName)
{
View("Index").ExecuteResult(ControllerContext);
}
}
При такой реализации, обращаясь к несуществующему действию, мы получим страницу Index. Каким образом построить дальнейшую логику будет зависеть от конкретного приложения.
Добавить комментарий