Meine Ansicht erbt Models.MyModel
Ich brauche eine Eigenschaft Model.Something
, um in einer HtmlHelper
-Methode verfügbar zu sein, wenn ich sie aus dieser Ansicht heraus aufruft.
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.
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.
Tags und Links asp.net-mvc asp.net-mvc-3 c# asp.net html-helper