Перенаправление до вызова конкретного действия
при посещении сайта, который вы строите в ASP.NET MVC, URL и направление вызовут соответствующее действие контроллера, но в некоторых ситуациях вы можете перенаправить его на другое действие или страницу до вызова соответствующего действия.
Если вы хотите, чтобы каждое действие перенаправить, вы можете использовать RedirectResult или RedirectToRouteResult, чтобы решить его, но вы можете использовать метод переопределения Controller.OnActionExecuting переопределения, если вы хотите перенаправить в общем, прежде чем каждое действие называется. Этот метод — метод, обрабатываемый до вызова каждого действия.
Если требуется перенаправить метод Controller.OnActionExecuting:
public class MyController : Controller
{
// 各アクションが呼ばれる前に呼ばれるメソッド
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (リダイレクトさせる条件)
{
filterContext.Result = new RedirectResult(url);
return;
}
}
}
Если вы установите RedirectResult с URL-адресом в ActionExecutingContext.Result, вы перенаправите на указанный URL. Если вы не ветвяетесь с заявлением if, перенаправление выполняется на все действия, которые принадлежат целевому контроллеру.
Вы также можете установить общий класс контроллера для каждого базового класса класса контроллера и реализовать метод OnActionExecuting для совместного участия в обработке с несколькими классами контроллера.
"ActionExecutingContext.Result" является типом ActionResult, так что вы можете использовать класс RedirectToRouteResult или метод Controller.RedirectToAction.