Dans MVC RC2 je retourne un type d'objet anonyme & Je veux y accéder à une vue fortement typé. Disons que dans le contrôleur j'interroger la base des valeurs dans & chercher var Type & Je veux passer à une vue fortement typé. Comment puis-je y accéder dans cette vue?Comment accéder au type anonyme retourné par le contrôleur en vue?
Répondre
Eh bien, vous ne pouvez pas. Un type anonyme, ne peut pas être consulté par nom. Exactement. Vous ne pouvez pas passer le type, le type existe en interne et vous pouvez uniquement exposer le type en tant que System.Object.
Vous pouvez toujours utiliser la réflexion pour déterrer les propriétés et les accès de cette façon, mais à part ça, il n'y a pas moyen de contourner cela.
var q = new { MyProperty = "Hello World" };
var t = q.GetType();
var hello = t.GetProperty("MyProperty").GetValue(q, null) as string;
Console.WriteLine(hello);
Si vous devez accéder au type, vous devez créer un objet/type défini par l'utilisateur, qui peut être identifié par son nom.
Vous ne pouvez pas passer à une vue fortement typé, mais vous pouvez la transformer en un dictionnaire et accéder aux propriétés de cette façon.
Dans le cadre de System.Web.Routing, il y a un nouvel objet appelé « RouteValueDictionary », ce qui peut prendre comme son constructeur un objet anonyme.
L'équipe MVC utilise dans plusieurs de leurs aides.
Exemple:
IDictionary<string, object> myDict = new RouteValueDictionary(anonymousObject);
- 1. Comment accéder au contrôleur de vue d'un super?
- 2. en utilisant le type retourné par Type.GetType() dans C#
- 3. Accéder au contrôleur dans une application Cocoa
- 4. comment aller au nouveau contrôleur de vue en utilisant UIWindow?
- 5. Comment obtenir html retourné à partir d'ActionResult dans le contrôleur
- 6. comment accéder à hachage dans le contrôleur
- 7. IEqualityComparer pour le type anonyme
- 8. Quelle fonction appellera quand le contrôleur de vue est changé en un autre contrôleur de vue?
- 9. Réflexion - réglage Type d'obj retourné?
- 10. Quel est le void * retourné par CGBitmapContextGetData?
- 11. ASP.NET MVC Transmission des données de la vue au contrôleur
- 12. Comment accéder au modèle de vue fortement typé dans javascript?
- 13. accéder au type primitif de classe de base en python
- 14. Linq, VB - Type anonyme ne peut pas être converti en type anonyme
- 15. Comment positionner la vue par rapport au parent?
- 16. Itère anonyme typée données vue MVC
- 17. Le passage d'un type anonyme à UpdateModel/TryUpdateModel dans ASPNETMVC
- 18. C# Linq Guid Anonyme Type Problème
- 19. JQuery Datepicker retourné Type d'objet Date
- 20. Passage de l'objet de la vue au contrôleur
- 21. Comment accéder au managedObjectContext à partir d'un contrôleur situé dans l'interface utilisateur?
- 22. Contrôleur et Vue précédente
- 23. Accéder à un Jbutton "anonyme" dans une classe anonyme d'une autre classe anonyme?
- 24. Comment accéder aux éléments d'une liste de tableau passée depuis le contrôleur en javascript?
- 25. python, comment dire quel type de obj a été retourné
- 26. Détecter la vue ou la vue partielle dans le contrôleur
- 27. Zend_Layout avec vue partielle - valeur définie par contrôleur Index
- 28. comment passer un EntityKey (référence) d'une vue sur le contrôleur
- 29. Comment puis-je convertir un type anonyme en type fort dans LINQ?
- 30. suppression d'une vue d'un contrôleur de vue