我有一个具有此属性的模型:
[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; }
}
是否可以将该属性绑定(bind)到数据模型?我想利用 MVC 表单控件,例如:
@Html.LabelFor(model => model.Name)
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
这有可能吗?还是我必须手动序列化/反序列化 XML 并构建我自己的表单?
最佳答案
我认为与其声明 public string Data { get;放; }
在第一个模型上你需要声明 public Data Data { get;放; }
使 EditorFor 呈现自定义模型。
但是,是的,您需要反序列化并创建自定义 .cshtml 编辑器或 View 模板来显示数据。
关于c# - MVC XML 模型作为另一个模型的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16747937/