TempData in einem Helper-Fehler verwenden: Der Name 'TempData' ist im aktuellen Kontext nicht vorhanden

8

Ich möchte auf die TempData in meinem Helfer für eine Flash-Nachricht zugreifen (wie in Ruby)

Ich bekomme einen Laufzeitfehler von

%Vor%

Mein Flash.cshtml ist wie folgt

%Vor%

im Layout habe ich

%Vor%     
eiu165 06.01.2012, 18:35
quelle

4 Antworten

13

TempData gehört zu ControllerBase class, das ist die Basisklasse für Controller, es ist nicht zugänglich für Shared Views, hinter denen kein Controller steht,

Eine mögliche Abhilfe besteht darin, den Controller an Ihre Hilfsmethode zu übergeben oder über HtmlHelper darauf zuzugreifen.

%Vor%     
Jahan Zinedine 06.01.2012, 18:43
quelle
4

Übergeben Sie einfach TempData an Ihren Helfer.

Der Aufruf an den Helfer in Ihrem Layout sieht so aus.

%Vor%

Ihr Flash.cshtml-Helfer wird so aussehen.

%Vor%     
Theophilus 26.06.2014 16:38
quelle
0

Es sieht so aus, als ob Sie TempData verwenden, wo Sie wirklich ViewBag oder ViewData["key"] verwenden möchten.

Controller

%Vor%

Anzeigen

%Vor%

Sehen Sie sich diesen Artikel an: Ссылка

    
Rondel 06.01.2012 18:41
quelle
0

Einige verwenden auch TempData, um Daten zu helfen, eine Weiterleitung zu überleben. Wenn dies der Fall ist, können Sie Ihr Problem beheben, indem Sie zuerst TempData Daten zuweisen:

%Vor%

Dann in Ihrer neuen umgeleiteten Aktion:

%Vor%

Verwenden Sie dann ViewBag in Ihrer freigegebenen Ansicht.

    
RealityDysfunction 20.12.2013 16:22
quelle