LINQ to SQLデータコンテキストを使用したAsp.Net 4.0 Dynamic Data Webサイトがあります。 SQL Serverデータベースの列の1つにNVARCHAR(MAX)があり、XMLフラグメントが含まれています。これを.dbmlファイルのXElementにマップしました。プロパティのUIHintを持つクラスのメタデータを追加しました。ツリービューでXMLコンテンツを表示するカスタムフィールドテンプレートを作成しました。 よく似ていますHow to edit a SQL Server XML data field with asp.net Dynamic DataAsp.Net動的データのXElementデータ型を編集するためのフィールドテンプレート
ここで実際にデータフィールドを編集したいと思います。シンプルなテキストエディタがあるので、MultiLine_Editフィールドテンプレートをコピーしたいと思っていました。編集ページでは実際に表示されており、コンテンツを編集できます。しかし、この方法は、私が更新を押すと少し単純すぎることが判明し、ページの上部に赤色のList of validation errors: The value is not valid.
が表示されます。 DynamicValidatorをコメントアウトしましたが、編集内容を保存できない代わりにServerErrorを取得しました。編集内容をStringからXElementに変換する際にエラーが発生します。
old post on the asp.net forums from someone trying to do the same thingが見つかりましたが、解決策はありません。
私の質問は:私のXML_Editフィールドテンプレートはどのように見えるのですか?
これまでのところこれを実現する唯一の方法は、.dbmlの型を文字列に変更することです。根本原因は、XElementがSerializableではないため、ViewStateに入れることができないように見えます。 TypeConverterを追加する提案がありましたが、これを行う方法はわかりません。 – flup