Če želite preusmeriti, preden se imenuje določeno dejanje

Datum ustvarjanja strani :

Ko obiščete spletno mesto, ki ga zgradite v ASP.NET MVC, bo URL in usmerjanje klic ustreznega dejanja upravljavca, vendar v nekaterih primerih boste morda želeli preusmeriti na drugo dejanje ali stran, preden se imenuje ustrezno dejanje.

Če želite, da vsak ukrep preusmeri, lahko uporabite RedirectResult ali RedirectToRouteResult, da ga rešite, vendar lahko uporabite krmilnik. Onactionizvršitev preglasitev način, če želite, da se preusmeri v skupno pred vsakim dejanjem se imenuje. Ta metoda je metoda, ki se obravnava pred vsakim dejanjem.

Če želite preusmeriti metodo Controller. Onactionizvršitve:

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

Če nastavite RedirectResult z URL-jem v ActionExecutingContext. result, preusmerite na navedeni URL. Če ne podružite z izjavo IF, se izvede preusmeritev za vsa dejanja, ki pripadajo ciljnemu krmilniku.

Nastavite lahko tudi skupen razred krmilnika za vsak osnovni razred razreda krmilnika in implementirati metodo Onactionizvršitve za deljenje obdelave z več razredi krmilnika.

"ActionExecutingContext. result" je vrsta ActionResult, tako da lahko uporabite razred RedirectToRouteResult ali metodo Controller. RedirectToAction.