Ich habe einen Controller mit mehreren Aktionen, die alle einen Satz von Daten zurückgeben, der unter allen gleich ist. Anstatt die Daten dem ViewBag bei jeder einzelnen Aktion hinzuzufügen, gibt es ein Muster oder Attribut oder etwas, das ich aufrufen oder einstellen kann, um für jede Aktion die gleichen Daten zu den viewdata oder viewbag hinzuzufügen, oder eine andere bessere Möglichkeit, die get gleiche Daten in jeder Ansicht, ohne die Methode bei jeder Aktion aufzurufen?
Was Sie suchen ist ein ActionFilter
, dann überschreiben Sie OnActionExecuting
. Hier ist einer meiner ActionFilter, der den aktuell angemeldeten Benutzer an den ViewBag anhängt:
Dann müssen Sie das Attribut anwenden, wo immer Sie möchten. Wenn Sie es an eine Aktion anhängen, erhält diese Aktion den hinzugefügten Eintrag im ViewBag. Wenn Sie es an einen Controller anhängen, erhalten alle seine Aktionen es. Wenn Sie es an einen Basis-Controller anhängen und von allen Controllern unterklassifiziert werden, erhalten Sie alle Ihre Aktionen in Ihrer gesamten App
%Vor%Tags und Links asp.net-mvc