1

asp.net3.5の動的データ機能に基づいたサイトがあります。すべてがうまく機能していますが、XMLデータ型の列を介してタグ付け機能を追加したいと思います。列を作成して適切なスキーマを追加しましたが、読み取り専用として表示されており、スキャフォールドはフィールドを表示または変更しません。

だから、私はいくつかの質問があります:

  1. スキャフォールドがこのxml列を表示できるようにするには、何をする必要がありますか?
  2. すべてのxmlを直接編集せずに、スキャフォールドを介してタグを編集するにはどうすればよいですか?
    • メタデータのゲッター/セッターにロジックを追加しますか?
    • おそらく、カスタムfieldTemplateが必要ですが、それにxml解析を追加しますか?
4

1 に答える 1

2

これがお役に立てば幸いです。おっしゃるとおり、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; }
}
于 2011-06-23T18:59:30.367 に答える