1

我正在从 HTML 表单中获取一些帖子数据。出现的数据用于构建TextualReport对象。我想解析出现的各种表单数据并填充模型的这些部分。

我不使用模型绑定器的原因是这是一个相当复杂的对象,我的列表索引可能会丢失(从 2 开始,跳过 3 等)。我从一个现有对象开始,只替换帖子中出现的属性。

我有以下名为TextualReport.

public class TextualReport {

    public IList<Section> Sections { get; set; }
    public IList<string> MiscInputs { get; set; }

    public TextualReport(){
        Sections = new List<Section>();
        MiscInputs = new List<string>();
    }
}

public class Section{
    public Section(){
        Id = Guid.NewGuid();
        Blocks = new List<Block>();
    }

    public Guid Id { get; set; }
    public string Heading { get; set; }
    public IList<Block> Blocks { get; set; }
}

public class Block{
    public Block(){
        PreGraphText = new List<string>();
        PreGraphInput = new List<string>();
        Graphs = new List<Graph>();
        PostGraphText = new List<string>();
    }
    public Guid Id { get; set; }
    public string Heading { get; set; }
    public IList<string> PreGraphText { get; set; }
    public IList<Graph> Graphs { get; set; }
    public IList<string> PostGraphText { get; set; }
    public IList<string> PreGraphInput { get; set; }
}

public class Graph{
    public string Url { get; set; }
    public string Caption { get; set; }
}

从我的 HTML/Razor 表单中,我得到如下文本字符串序列:

TextualReport.Sections[1].Blocks[0].Graphs[0].Caption=
TextualReport.Sections[1].Blocks[0].Graphs[1].Caption=
TextualReport.Sections[1].Blocks[0].Graphs[2].Caption=
TextualReport.Sections[1].Blocks[0].PreGraphInput[0]=
TextualReport.Sections[1].Blocks[0].PreGraphInput[1]=
TextualReport.Sections[1].Blocks[1].Graphs[0].Caption=
TextualReport.Sections[1].Blocks[1].PreGraphInput[0]=
TextualReport.Sections[1].Blocks[1].PreGraphInput[1]=
TextualReport.Sections[1].Blocks[2].Graphs[0].Caption=
TextualReport.Sections[1].Blocks[2].Graphs[1].Caption=
TextualReport.Sections[1].Blocks[2].PreGraphInput[0]=
TextualReport.Sections[1].Blocks[2].PreGraphInput[1]=
TextualReport.Sections[1].Blocks[3].Graphs[0].Caption=
TextualReport.Sections[1].Blocks[3].PreGraphInput[0]=
TextualReport.Sections[1].Blocks[3].PreGraphInput[1]=
TextualReport.Sections[1].Blocks[4].Graphs[0].Caption=
TextualReport.Sections[1].Blocks[4].PreGraphInput[0]=
TextualReport.Sections[1].Blocks[4].PreGraphInput[1]=

用表单帖子中出现的各种部分填充我现有数据的最佳方法是什么?我从数据库中获取模型,然后根据新数据进行更新。

4

0 回答 0