MVC XML模型作为另一个模型的属性

本文关键字:模型 属性 另一个 XML MVC | 更新日期: 2023-09-27 18:15:11

我有一个具有这个属性的模型:

[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和构建我自己的形式?

MVC XML模型作为另一个模型的属性

我认为不是在第一个模型上声明public string Data { get; set; },你需要声明public Data Data { get; set; }来使EditorFor呈现自定义模型。

但是,是的,您需要反序列化并创建一个自定义的.cshtml编辑器或视图模板来显示数据