Feldvorlage zum Bearbeiten des XElement-Datentyps in Asp.Net Dynamic Data

9

Ich habe eine Asp.Net 4.0 Dynamic Data Website mit einem LINQ to SQL Datenkontext. Eine der Spalten in der SQL Server-Datenbank ist NVARCHAR (MAX) und enthält ein XML-Fragment. Ich habe dies XElement in der .dbml-Datei zugeordnet. Ich habe Metadaten für die Klasse mit einem UIHint für die Eigenschaft hinzugefügt und eine Vorlage für ein benutzerdefiniertes Feld geschrieben, die den XML-Inhalt in einem TreeView anzeigt. Ähnlich wie How to Bearbeiten Sie ein SQL Server-XML-Datenfeld mit dynamischen Daten von asp.net

Ich möchte jetzt das Datenfeld bearbeiten. Ein einfacher Texteditor tut das. Ich dachte, ich würde die MultiLine_Edit-Feldvorlage kopieren. Auf der Bearbeitungsseite wird es in der Tat angezeigt und ich kann den Inhalt bearbeiten. Aber dieser Ansatz erweist sich als etwas zu einfach, wenn ich update drücke, ich bekomme oben auf der Seite ein rotes List of validation errors: The value is not valid. . Ich habe den DynamicValidator auskommentiert, aber jetzt bekomme ich einen ServerError statt dessen, dass er meine Änderungen nicht speichern kann, weil er meine Edits nicht von String nach XElement konvertiert.

Ich habe einen alten Beitrag in den asp.net-Foren von jemandem gefunden, der versucht, dasselbe zu tun aber es zeigt keine Lösung.

Meine Frage ist also: Wie soll meine XML_Edit-Feldvorlage aussehen?

    
flup 17.01.2013, 17:28
quelle

2 Antworten

0

LINQ to SQL und Dynamic Data spielen nicht gut zusammen.

Ordnen Sie den XML-Inhalt daher nicht XElement zu. Ordnen Sie es stattdessen String zu.

Sie können benutzerdefinierte Feldvorlagen einfach verwenden, aber basieren Sie auf Zeichenfolgen.

    
flup 26.01.2013, 21:37
quelle
1

Verwenden Sie stattdessen den Typ XDocument , der serialisierbar ist.

    
ajawad987 26.01.2013 04:17
quelle