Átirányítás egy adott művelet megnevezése előtt

Oldal létrehozásának dátuma :

amikor meglátogat egy webhelyet, amelyet ASP.NET MVC-ben épít, az URL-cím és az útválasztás meghívja a megfelelő vezérlőműveletet, de bizonyos helyzetekben érdemes átirányítani egy másik műveletre vagy oldalra, mielőtt a megfelelő műveletet meghívják.

Ha azt szeretné, hogy minden művelet átirányítsa, a RedirectResult vagy a RedirectToRouteResult segítségével megoldhatja azt, de használhatja a Controller.OnActionExecuting felülbírálási módszert, ha az egyes műveletek megírása előtt át szeretné irányítani a közös műveleteket. Ez a módszer az a módszer, amelyet az egyes műveletek megnevezése előtt kezelnek.

Ha azt szeretné, hogy a Controller.OnActionExecuting metódus átirányítsa:

public class MyController : Controller
{
  // 各アクションが呼ばれる前に呼ばれるメソッド
  public override void OnActionExecuting(ActionExecutingContext filterContext)
  {
    if (リダイレクトさせる条件)
    {
      filterContext.Result = new RedirectResult(url);
      return;
    }
  }
}

Ha az ActionExecutingContext.Result fájlban url-címmel rendelkező RedirectResult-t állít be, átirányítja a megadott URL-címre. Ha nem ágaz iktat egy if utasítással, a rendszer átirányítást hajt végre a célvezérlőhöz tartozó összes műveleten.

Az egyes Controller-osztályalaposztályhoz beállíthat egy közös vezérlőosztályt is, és az OnActionExecuting metódust több vezérlőosztályral való megosztásához is beállíthat.

Az "ActionExecutingContext.Result" egy ActionResult típus, így használhatja a RedirectToRouteResult osztályt vagy a Controller.RedirectToAction metódust.