Mit einem einfachen Aktionsfilter, der überprüft, ob der Benutzer angemeldet ist und seine Benutzer-ID abruft.Wie übergebe ich eine Variable von einem ActionFilter an eine Controller-Aktion in C# MVC?
public class LoginFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
// Authenticate (somehow) and retrieve the ID
int id = Authentication.SomeMethod();
// Pass the ID through to the controller?
.....
}
}
Wie kann ich diese ID dann an meine Controller-Aktion weitergeben?
Gibt es ein Äquivalent zum ViewBag, mit dem ich das machen könnte? Oder eine andere Technik, die es mir erlaubt, Variablen und Objekte zwischen dem Filter und der Controller-Aktion zu übergeben?
Danke, obwohl ich TempData (wie von @ Luiso's Antwort vorgeschlagen) beendet habe, anstatt ViewBag oder ViewData, deins gibt die besten Details, wie man es tatsächlich benutzt, zusammen mit Beispielen, und die Technik ist die gleiche für den ViewBag wie für TempData. Ich denke, dass dies Temporäre Daten sind und nicht irgendetwas, was für die Ansicht gedacht ist. Daher ist es sinnvoller, TempData zu verwenden –