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

标签 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; }
}

是否可以将该属性绑定(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/

相关文章:

c# - 如何使用 WPF C# 检测光标何时离开书面文本框

ASP.NET MVC 5 和 Bootstrap 3

asp.net - Web API 授权属性不适用于操作

c# - 使用 SUM 和 IS NOT NULL 对 LINQ for MVC 进行 SQL 查询

asp.net-mvc-4 - sln 和 vssscc 总是在我待定的 tfs 更改中

c# - 从匿名类型中获取值

c# - ASP.Net - 第二次回发后按钮上的 Bootstrap-Badge 丢失

c# - JSON 安全和加密

asp.net-mvc - 使用 VS2010 和 MVC 2 启动 Asp.Net MVC

c# - 如何使用 viewmodel (IEnumerable) 在 ASP.NET MVC 4 中更新我的数据库