Presmerovanie pred názvom konkrétnej akcie

Dátum vytvorenia strany :

Keď navštívite lokalitu, ktorú vytvoríte v ASP.NET MVC, URL a smerovanie zavolá zodpovedajúcu akciu radiča, ale v niektorých situáciách ho možno budete chcieť presmerovať na inú akciu alebo stránku pred tým, ako sa zavolá zodpovedajúca akcia.

Ak chcete, aby každá akcia presmerovala, môžete použiť RedirectResult alebo Redirecttorvrchesult na jeho vyriešenie, ale môžete použiť ovládač. Onactionvykonávajúci prepísať metóda, ak chcete presmerovať spoločné pred každou akciou sa nazýva. Táto metóda je metóda, ktorá je riešená pred každou akciou sa nazýva.

Ak chcete radič. Onactionvykonávajúci metóda presmerovania:

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

Ak nastavíte RedirectResult s URL v ActionExecutingContext. result, presmerujete na zadanú adresu URL. Ak nemáte pobočky s if vyhlásenie, presmerovanie sa vykonáva na všetky akcie, ktoré patria do cieľového radiča.

Môžete tiež nastaviť spoločnú triedu radiča pre každú základnú triedu triedy ovládača a implementovať metódu Onactionvykonávajúci na zdieľanie spracovania s viacerými triedami radiča.

"ActionExecutingContext. result" je ActionResult typu, takže môžete použiť Redirecttorvrchesult triedy alebo radič. RedirectToAction metóda.