2010-11-23 17 views
31

Özel eylem filtresi özniteliğini kopyalamaya çalışıyorum. Ve bazı yerlerde, ben bu tür TempData [key] ve TryUpdateModel gibi tesislere ihtiyacım var ... ActionFilterAttribute'dan türeyen özel öznitelik sınıfım, aşağıdaki yöntemlere de erişebiliyorum.HttpContext'ten TempData anahtarına/değerine erişmek mümkün mü?

public override void OnActionExecuting(ActionExecutingContextt filterContext) 
{ 
} 
public override void OnResultExecuted(ResultExecutedContextt filterContext) 
{ 
} 

Ne yazık ki, hem filtercontext yerel değişkenlerinden, TempData'ya nasıl erişeceğimi bilmiyorum. Birkaç ipucunu takip etmeyi denedim, ama başarılı olamadım. Sonuçta, belki filterContext değişkenlerinde TempData var. Bu durumda, kullanılabilir olan TemData'ya nasıl erişebilirim?

cevap

55
var foo = filterContext.Controller.TempData["foo"]; 
+0

Çok teşekkürler yardımlarınız için

teşekkürler. Bu oldukça kolaydı. Sadece son bir soru. Hangi kontrolörden bahsediyoruz? isteği gönderen veya özel özniteliğimi içeren yöntemin hangisinin dekore edilmesi gerekiyor? Bunu sormamın nedeni ... Özel yöntemimden TryUpdateModel() yöntemine erişmem gerekirse, bunu nasıl yaparım? – Richard77

+0

Özel özniteliğinizle süslenen eylemi içeren dosyadır. –

+0

O zaman TryUpdateModel gibi tesislerine nasıl erişebilirim? – Richard77

İlgili konular