2012-03-29 5 views
1

Ich habe eine Situation, in der ich ein Objekt anzeigen möchte, das nicht an ein Modell angehängt ist, aber ich möchte Metadaten dafür angeben, so dass das Templating-System es anzeigt, als ob es eine Modelleigenschaft wäre mit angegebenen Metadaten. Etwas wie:Ist es möglich, Metadaten zur Objektanzeige anzugeben, wenn DisplayForModel nicht zutrifft?

@Html.DisplayObject(obj, metadata) <--pseudocode 

Das heißt, ich habe ein freies Objekt obj und ich weiß, wie ich es angezeigt werden soll (übliche Metadaten Sachen wie Display, Formatstring, UIHint, etc.), aber dieses Objekt ist nicht an einem Modell befestigt.

Wie kann ich in dieser Situation in die Standard-Templating-Logik von MVC einsteigen?

(Der Grund dafür, dass das Objekt nicht an ein Modell angehängt ist, ist, dass es zur Laufzeit dynamisch geladen wird. Daher gibt es keinen Ort zum Kompilieren, um die Eigenschaft hinzuzufügen und mit den Metadatenattributen zu dekorieren Fragen Sie nach dem richtigen Weg, um mit dieser Situation umzugehen.)

Antwort

0

Nicht eine brillante Antwort mit allen Mitteln, aber am Ende habe ich nur manuell die UI, die ich brauchte, in nützliche partielle Ansichten und Hilfsmethoden, und es war wirklich nicht so schwer. Ich habe auch die vollständige Kontrolle, was schön ist.

0

Eine mögliche Option ist hier die Implementierung Ihres eigenen Metadaten-Providers. Ich habe es nie selbst gemacht, aber dieses article on the topic sah nützlich und detailliert aus.

+0

Ich verbrachte ein paar schmerzvolle Stunden damit und konnte es nicht genug arbeiten, um mein Ziel zu erreichen. Ich konnte Metadaten bereitstellen, aber ich konnte MVC nicht dazu bringen, es so zu verwenden, wie ich es wollte, und am Ende war es schneller, einfach meine eigenen zu rollen. –

Verwandte Themen