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

时间:2013-05-25 08:50:52

标签: c# asp.net-mvc asp.net-mvc-4 model

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

[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并构建我自己的表单?

1 个答案:

答案 0 :(得分:0)

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

但是,您需要反序列化并创建自定义.cshtml编辑器或查看模板以显示数据。