【问题标题】:How to edit a SQL Server XML data field with asp.net Dynamic Data如何使用 asp.net 动态数据编辑 SQL Server XML 数据字段
【发布时间】:2009-08-20 14:46:26
【问题描述】:

我有一个基于 asp.net 3.5 的动态数据功能的网站。一切都很好,但我想通过具有 XML 数据类型的列添加标记功能。我已经创建了专栏并添加了适当的架构,但它显示为只读,并且脚手架不会显示或修改该字段。

所以,我有几个问题:

  1. 我需要做什么才能使我的脚手架能够看到这个 xml 列?
  2. 如何在不直接编辑所有 xml 的情况下通过脚手架编辑标签?
    • 我是否要向元数据中的 getter/setter 添加逻辑?
    • 大概我需要一个自定义的 fieldTemplate,我会在其中添加 xml 解析吗?

【问题讨论】:

  • 我能够通过为 xml 列添加 UIHint 来回答问题的第 1 部分。这让我相信第 2 部分的答案将是创建一个专为 xml 设计的 fieldTemplate。

标签: asp.net sql-server xml dynamic-data scaffolding


【解决方案1】:

我希望这会有所帮助。正如您所提到的,您必须为您的 XML 数据创建一个字段模板。 :

[MetadataType(typeof(DocumentMetadata))]
[DisplayName("Documents")]
public partial class Document {

    [ScaffoldColumn(true)]
    [Display(Name = "Some Xml")]
    public string SomeXml
    {
        get
        {
            return "<note><to>Joe</to><from>Mary</from><heading>Reminder</heading><body>Hello World</body></note>"
        }
    }
}

public class DocumentMetadata
{
    [ScaffoldColumn(false)]
    public object Id { get; set; }

    [Display(Name="Type")]
    public object DocumentType { get; set; }

    [UIHint("CustomXmlFieldTemplate")]
    [Display(Name="Some XML")]
    public object SomeXml { get; set; }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 2019-02-09
    • 2017-03-21
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多