Abrufen des Modells, das der entsprechenden Ansicht in HtmlHelper zugeordnet ist

8

Meine Ansicht erbt Models.MyModel

%Vor%

Ich brauche eine Eigenschaft Model.Something , um in einer HtmlHelper -Methode verfügbar zu sein, wenn ich sie aus dieser Ansicht heraus aufruft.

%Vor%

Gibt es eine Möglichkeit, darauf zuzugreifen? Vielleicht über ViewContext oder ViewDataDictionary ?

Ich möchte Model.SessionKey nicht explizit für jeden von mir aufgerufenen Helfer weitergeben. Gibt es einen Ansatz, den ich verpasst habe? Oder ist das unmöglich?

Danke.

    
Robin Maben 24.11.2010, 13:11
quelle

2 Antworten

24

Mein Ansatz dabei wäre, dass alle Modelle, die Sie mit diesem Helper verwenden möchten, eine Schnittstelle implementieren, die ihre gemeinsamen Eigenschaften definiert. Die ViewData-Eigenschaft des HtmlHelper-Objekts hat eine Model-Eigenschaft (vom Typ object ). In Ihrem Helfer können Sie dies als Schnittstellentyp einstufen. Unter der Annahme, dass es an diesem Punkt nicht null ist, d. H. Tatsächlich nicht null und vom richtigen Typ, können Sie dann die allgemeinen Eigenschaften verwenden.

%Vor%     
tvanfosson 24.11.2010, 13:24
quelle
4

Ähnlich können Sie dies tun:

%Vor%

Der einzige Unterschied ist, dass Sie keinen Cast machen müssen ....

    
devlife 21.09.2011 19:09
quelle