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

  • Kamikazeepanda

    Kamikazeepan

    5 ŞUBAT 2006
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009
  • wwjoshdu

    wwjoshdu

    18 ŞUBAT 2011