In MVC RC2 Ich gebe einen anonymen Objekttyp & Ich möchte in einer stark typisierten Ansicht darauf zugreifen. Lassen Sie uns sagen, dass in der Steuerung ich Abfrage die Datenbank & holen Werte in var Typ & Ich möchte es an eine stark typisierte Sicht übergeben. Wie kann ich in dieser Ansicht darauf zugreifen?Zugriff auf den anonymen Typ, der vom Controller in der Ansicht zurückgegeben wird?
Antwort
Nun, Sie können nicht. Ein anonymer Typ, auf den nicht mit dem Namen zugegriffen werden kann. Das ist der springende Punkt. Sie können den Typ nicht übergeben, der Typ existiert intern und Sie können den Typ nur als System.Object verfügbar machen.
Sie können immer Reflektion verwenden, um die Eigenschaften auszugraben und auf diese Weise darauf zuzugreifen, aber ansonsten gibt es keinen Weg.
var q = new { MyProperty = "Hello World" };
var t = q.GetType();
var hello = t.GetProperty("MyProperty").GetValue(q, null) as string;
Console.WriteLine(hello);
Wenn Sie den Typ zugreifen müssen, sollten Sie ein benutzerdefiniertes Objekt/Typ erstellen, die mit Namen identifiziert werden kann.
Sie können es nicht an eine stark typisierte Ansicht übergeben, aber Sie können es in ein Wörterbuch umwandeln und auf diese Weise auf die Eigenschaften zugreifen.
Als Teil von System.Web.Routing gibt es ein neues Objekt namens "RouteValueDictionary", das als Konstruktor ein anonymes Objekt annehmen kann.
Das MVC-Team verwendet dies in vielen ihrer Helfer.
Beispiel:
IDictionary<string, object> myDict = new RouteValueDictionary(anonymousObject);
- 1. MVC-Controller unabhängig vom Typ der Ansicht UpdateModel
- 2. Zugriff auf den aktuellen Controller, der in DelegatingHandler ausgeführt wird
- 3. Wie wird die Liste der Artikel als Modell von der Ansicht an den Controller zurückgegeben?
- 4. Rückkehr der gültigen Ansicht vom Controller
- 5. Anonymen Benutzern den Zugriff auf Sonar verweigern
- 6. Zugriff auf Controller-Eigenschaften über eine Ansicht
- 7. Rails-Parameter vom Controller können nicht in der Ansicht
- 8. Verweis auf View-Controller der Container-Ansicht
- 9. Zugriff auf Variablen vom Controller zum nächsten
- 10. Zugriff auf die Komponente vom Controller
- 11. Zugriff auf $ App-Objekt vom Controller
- 12. Beitreten anonymen Typ in LINQ
- 13. Farbverlauf wird nicht auf SWReveal angewendet Ansicht der Controller-Inhaltsansicht
- 14. wie Hash für den Zugriff auf Controller
- 15. Yii 2 Schneller Zugriff auf den Controller aus der Sicht
- 16. Zugriff auf Werte vom pfadabhängigen Typ mixin
- 17. Wie wird der Wert, der von $ http.get() an eine Variable im Controller zurückgegeben wird, zugewiesen?
- 18. Der Zugriff auf die Eigenschaften eines Objekts kann durch den Zugriff auf den Typ
- 19. Übergabe der Formulareingabe von der Ansicht an den Controller
- 20. Warum wird der Viewbag-Wert nicht an die Ansicht zurückgegeben?
- 21. Übergeben Sie HTML vom Controller zur Ansicht
- 22. Veröffentlichen der Daten eines Rasters von der Ansicht auf den Controller in ASP.NET MVC
- 23. Falsche Ansicht zurückgegeben werden
- 24. Interaktive Ansicht Controller-Übergang vom View-Controller mit Statusleiste versteckt
- 25. Wie Zugriff auf Benutzerobjekt in Grails Controller
- 26. Zugriff auf den Text der Winkeldirektive (Element) in der Vorlage
- 27. Welcher Datentyp wird vom bitweisen Komplementoperator zurückgegeben?
- 28. Shadow in der Navigationsleiste erscheint nach Drücken der Ansicht Controller
- 29. Titanium - Trigger vom Controller zu einer Ansicht
- 30. Wie Zugriff auf Assets/Image vom Controller in Sails.js?