2010-11-23 5 views
31

Ich versuche, ein benutzerdefiniertes Aktionsfilterattribut zu erstellen. Und einige wo, ich brauche Einrichtungen, wie TempData [Schlüssel] und TryUpdateModel ... Meine benutzerdefinierte Attributklasse abgeleitet von der ActionFilterAttribute, kann ich beide unten Methoden zugreifen.Ist es möglich, auf den TempData-Schlüssel/Wert von HttpContext zuzugreifen?

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

Leider weiß ich von beiden lokalen Variablen Filtercontext nicht, wie auf die TempData zugreifen. Ich habe versucht, mehreren Leads zu folgen, aber ohne Erfolg. Schließlich gibt es TempData in den Variablen filterContext. Wie kann ich dann auf die verfügbaren TemData zugreifen?

Vielen Dank für

viele

Antwort

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

Dank zu helfen. Das war ziemlich einfach. Nur eine letzte Frage. Von welchem ​​Controller sprechen wir hier? derjenige, der die Anfrage gesendet hat oder derjenige, der die Methode enthält, die mein benutzerdefiniertes Attribut schmücken soll? Der Grund, warum ich das frage, ist ... Was ist, wenn ich auf die Methode tryUpdateModel() von meinem benutzerdefinierten Attribut zugreifen muss, Wie mache ich das? – Richard77

+0

Es ist derjenige, der die mit Ihrem benutzerdefinierten Attribut dekorierte Aktion enthält. –

+0

Dann, wie kann ich auf seine Einrichtungen wie TryUpdateModel zugreifen? – Richard77

Verwandte Themen