Belirli bir eylem çağrılmadan önce yeniden yönlendirmek için
MVC'ASP.NET oluşturduğunuz bir siteyi ziyaret ettiğinizde, URL ve yönlendirme ilgili denetleyici eylemini çağırır, ancak bazı durumlarda ilgili eylem çağrılmadan önce başka bir eyleme veya sayfaya yönlendirmek isteyebilirsiniz.
Her eylemin yeniden yönlendirilmesini istiyorsanız, bunu çözmek için ReDirectResult veya ReDirectToRouteResult'ı kullanabilirsiniz, ancak her eylem çağrılmadan önce ortak olarak yeniden yönlendirmek istiyorsanız Controller.OnActionExecuting geçersiz kılma yöntemini kullanabilirsiniz. Bu yöntem, her eylem çağrılmadan önce işlenen yöntemdir.
Controller.OnActionExecuting yönteminin yeniden yönlendirmesini istiyorsanız:
public class MyController : Controller
{
// 各アクションが呼ばれる前に呼ばれるメソッド
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (リダイレクトさせる条件)
{
filterContext.Result = new RedirectResult(url);
return;
}
}
}
ActionExecutingContext.Result'da bir URL ile bir Yönlendirme Sonucu ayarlarsanız, belirtilen URL'ye yönlendirirsiniz. If deyimiyle dallanmazsanız, hedef denetleyiciye ait tüm eylemlerde yeniden yönlendirme gerçekleştirilir.
Ayrıca, her Denetleyici sınıf taban sınıfı için ortak bir Denetleyici sınıfı ayarlayabilir ve birden çok Denetleyici sınıfıyla işlemeyi paylaşmak için OnActionExecuting yöntemini uygulayabilirsiniz.
"ActionExecutingContext.Result" bir ActionResult türüdür, böylece ReDirectToRouteResult sınıfını veya Controller.RedirectToAction yöntemini kullanabilirsiniz.