3

Hat jemand eine Möglichkeit gefunden, dynamisch ein Grid mit ExpandoObject, DynamicObject oder Reflection.Emit zu erstellen und gleichzeitig CRUD-Operationen zuzulassen?Dynamisches Modell mit Telerik ASP MVC

Ich konnte Reflection.Emit verwenden, um meine Rasterspalten dynamisch zu erstellen und Daten anzuzeigen, aber sobald ich versuche, eine Zeile zu bearbeiten, verschwinden die Zelleninhalte.

Jede Hilfe würde sehr geschätzt werden!

Antwort

1

Es gibt ein Projekt, das zeigt, wie dynamische Objekte mit Telerik Grid für ASP.NET MVC verwendet werden. Sie können es hier finden: http://www.telerik.com/community/code-library/aspnet-mvc/grid/binding-to-a-collection-of-dynamic-objects-with-mvc3-razor.aspx

+0

Haben Sie das mit 'ExpandoObject' oder ähnlichem versucht? Ich habe jetzt das gleiche Problem wie @Jobot: Nach dem Binden des Rasters an 'dynamic' (' ExpandoObject') über AJAX sind die Zeilen da, aber alle Zellen sind leer, auch wenn die zurückgegebenen JSON-Daten in Ordnung sind. Könnte das Problem sein, dass diese Objekte wie in einer Schlüssel-Wert-Struktur statt eines "echten" JSON-Objekts serialisiert werden? – hangy

1

Ich war in der Lage, das Problem zu lösen, indem Sie this Code verwenden. Die normale JavaScriptSerializer, die von ASP.NET MVC verwendet wird, um die JSON-Ausgabe serialisiert ExpandoObject ähnlich IDictionary<string, object>, so dass das data Array anstelle des erforderlichen JSON-Objekts enthält tatsächlich eine Liste der Schlüssel-Wert-Paare, die das Telerik ASP.NET MVC-Grid kann nicht mit arbeiten.

+0

Entschuldigung dafür, dass ich seit meinem ersten Post MIA war, aber ich wurde in ein komplett anderes Projekt gezogen. Auf jeden Fall ... @hangy danke für den Vorschlag. Mit den Schlüssel/Wert-Paaren, die das MVC-Raster von Telerik bei der Verwendung von ExpandoObject nicht verarbeiten kann, sind Sie direkt vor Ort. Wie bei meinem ursprünglichen Beitrag bezüglich der fehlenden Zellenwerte beim Ändern von Zeilen stellte sich heraus, dass ich einen dummen Fehler gemacht habe, die Vorlage, die das Raster in \ EditorTemplates verwenden soll, nicht hinzuzufügen. – JoBot