2

私はこのプロパティを持つモデルを持っています:

[Required]
[Column(TypeName = "xml")]
public string Data { get; set; }

そして、そのデータを表すモデル:

[XmlRoot("data")]
public class Data
{
    [Required]
    [XmlElement("id")]
    public Guid ID { get; set; }

    [Required]
    [XmlElement("name")]
    public string Name { get; set; }

    [Required]
    [XmlElement("value")]
    public object Value { get; set; }
}

そのプロパティをデータ モデルにバインドすることは可能ですか? 次のような MVC フォーム コントロールを利用したいと思います。

@Html.LabelFor(model => model.Name)
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)

これはどういうわけか可能ですか、それとも XML を手動でシリアライズ/デシリアライズして独自のフォームを作成する必要がありますか?

4

1 に答える 1

0

public string Data { get; set; }最初のモデルで宣言する代わりに、public Data Data { get; set; }EditorFor がカスタム モデルをレンダリングするように宣言する必要があると思います。

ただし、データを表示するには、逆シリアル化してカスタム .cshtml エディターまたはビュー テンプレートを作成する必要があります。

于 2013-05-25T12:51:09.280 に答える