SORU
27 Mart 2011, Pazar


Yeniden Yönlendirme Eylemi, Süzgeç Özniteliği

Ne ActionFilterAttribute bir yönlendirme yapmak için en iyi yoldur. ActionFilterAttribute IsAuthenticatedAttributeFilter ve bir oturum değişkeni değeri işaretli aradım. Eğer değişken false ise, uygulamanın oturum açma sayfasına yönlendirmek istiyorum. Bu noktada SystemLogin ancak herhangi bir yönlendirme yöntemi iyi olurdu rota adını kullanarak yönlendirmek için tercih ederim.

CEVAP
28 Mart 2011, PAZARTESİ


FilterContext ayarlayın.Sonuç

Rota adı:

filterContext.Result = new RedirectToRouteResult("SystemLogin", routeValues);

Ayrıca, gibi bir şey yapabilirsiniz:

filterContext.Result = new ViewResult
{
    ViewName = SharedViews.SessionLost,
    ViewData = filterContext.Controller.ViewData
};

Eğer RedirectToAction kullanmak istiyorsanız:

Sadece Sistem korumalı RedirectToAction çağıran denetleyicisi (tercihen temel denetleyicisi) kamu RedirectToAction bir yöntem yapabiliriz.Web.Mvc.Denetleyicisi. Bu yöntem ekleme ortak bir çağrı için izin verirseninFiltre RedirectToAction.

public new RedirectToRouteResult RedirectToAction(string action, string controller)
{
    return base.RedirectToAction(action, controller);
}

Sonra bir süzgeç gibi görünecektir:

   public override void OnActionExecuting(ActionExecutingContext filterContext)
   {
       var controller = (SomeControllerBase) filterContext.Controller;
       filterContext.Result = controller.RedirectToAction("index", "home");
   }

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Schoon

    Ben Schoon

    23 Kasım 2012
  • FrankJavCee

    FrankJavCee

    29 Kasım 2008
  • Hak5

    Hak5

    7 EYLÜL 2005