用于在Asp.Net动态数据中编辑XElement数据类型的字段模板

时间:2013-01-17 17:28:23

标签: c# asp.net xml dynamic-data asp.net-dynamic-data

我有一个带有LINQ to SQL数据上下文的Asp.Net 4.0动态数据网站。 SQL Server数据库中的一列是NVARCHAR(MAX)并包含XML片段。我已将其映射到.dbml文件中的XElement。我已经为该属性的UIHint添加了该类的元数据,并且我编写了一个自定义字段模板,该模板在TreeView中显示XML内容。 很像How to edit a SQL Server XML data field with asp.net Dynamic Data

现在我想实际编辑数据字段。一个简单的文本编辑器会这样做我想我会复制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字段模板应该是什么样的?

2 个答案:

答案 0 :(得分:1)

请尝试使用XDocument类型,这是可序列化的。

答案 1 :(得分:0)

LINQ to SQL和动态数据不能很好地协同工作。

所以不要将XML内容映射到XElement。将其映射到字符串。

您可以正常使用自定义字段模板,但可以将它们基于字符串。