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

  • FPSRussia

    FPSRussia

    19 NİSAN 2010
  • HuskyStarcraft

    HuskyStarcra

    4 HAZİRAN 2009
  • VOICE TV

    VOICE TV

    2 Aralık 2010