我有一个Asp。Net 4.0动态数据网站,具有LINQ到SQL数据上下文。SQL Server数据库中的一个列是NVARCHAR(MAX),它包含一个XML片段。我已经将它映射到.dbml文件中的XElement。我已经为类添加了元数据,并为属性添加了一个UIHint,并且我已经编写了一个Custom Field模板,该模板在TreeView中显示XML内容。很像如何使用asp.net动态数据编辑SQL Server XML数据字段
现在我想实际编辑数据字段。一个简单的文本编辑器会这样做,我想我会复制MultiLine_Edit字段模板。在编辑页面,它确实显示,我可以编辑的内容。但这种方法太简单了,因为当我按下更新时,我在页面顶部得到一个红色的List of validation errors: The value is not valid.
。我注释掉了DynamicValidator,但现在我得到一个ServerError,它不能保存我的编辑,因为它无法将我的编辑从String转换为XElement。
我在asp.net论坛上发现了一个老帖子,有人试图做同样的事情,但它没有显示一个解决方案。
所以我的问题是:我的XML_Edit字段模板应该是什么样子?
尝试使用XDocument
类型,它是可序列化的。
LINQ to SQL和动态数据不能很好地结合在一起。
因此,不要将XML内容映射到XElement。将其映射为string你可以使用自定义字段模板,但是要基于字符串。