在ASP.NET中列出

Ola*_*tan -2 c# asp.net

我一直在使用PHP一段时间,但不得不转向ASP.NET MVC

我想获得像下面这样的数组

Order[0]
      =>MaterialName="MName"
      =>MaterialType=1
      =>MaterialDescription="Description"
      =>Roles[0]
                 =>"Televsion"= "ABCTV"
                 =>"Radio"= "ABC Radio"
      =>Roles[1]
                 =>"Televsion"= "DEFTV"
                 =>"Radio"= "DEF Radio"

Order[1]
      =>MaterialName="MName"
      =>MaterialType=1
      =>MaterialDescription="Description"
      =>Roles[0]
                 =>"Televsion"= "ABCTV"
                 =>"Radio"= "ABC Radio"
      =>Roles[1]
                 =>"Televsion"= "DEFTV"
                 =>"Radio"= "DEF Radio"
Run Code Online (Sandbox Code Playgroud)

我可以通过制作第一个数组并在之后追加其他数据来在PHP中生成这个.

并循环以获取其中的值.

我希望在ASP.NET MVC中完成此操作,但无济于事.

数组不允许附加名称和字典.

zai*_*man 5

首先,你需要一个模型.

在你的情况下,它看起来像这样

public class Order 
{
  public string MaterialName { get; set; }
  public int MaterialType { get; set; } // consider making this an Enum
  public string MaterialDescription { get; set; }
  public Dictionary<string, string> Roles { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,您可以定义您的集合:

var orders = new System.Collections.Generic.List<Order>{
 new Order 
    {
    MaterialName = "MName", 
    MaterialType = 1,
    MaterialDescription = "Description",
    Roles = new Dictionary<string, string> 
        {
            {"Television", "ABCTV"},
            {"Radio", "ABCDEF RadioTV"},
        }
    },
     new Order 
    {
    MaterialName = "MName", 
    MaterialType = 1,
    MaterialDescription = "Description",
    Roles = new Dictionary<string, string> 
        {
            {"Television", "ABCTV"},
            {"Radio", "ABCDEF RadioTV"},
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

编辑:也可能是你Roles是一个Dictionary数组,在这种情况下我们可以这样做:

public class Order 
{
  public string MaterialName { get; set; }
  public int MaterialType { get; set; } // consider making this an Enum
  public string MaterialDescription { get; set; }
  public List<Dictionary<string, string>> Roles { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,您可以定义您的集合:

var orders = new System.Collections.Generic.List<Order>{
 new Order 
    {
    MaterialName = "MName", 
    MaterialType = 1,
    MaterialDescription = "Description",
    Roles = new List<Dictionary<string, string>> {
    new Dictionary<string, string> 
        {
            {"Television", "ABCTV"},
            {"Radio", "ABCDEF RadioTV"},
        },
    new Dictionary<string, string> 
        {
            {"Television", "ABCTV"},
            {"Radio", "ABCDEF RadioTV"},
        }
    },
    new Order 
    {
    MaterialName = "MName", 
    MaterialType = 1,
    MaterialDescription = "Description",
    Roles = new List<Dictionary<string, string>> {
    new Dictionary<string, string> 
        {
            {"Television", "ABCTV"},
            {"Radio", "ABCDEF RadioTV"},
        },
    new Dictionary<string, string> 
        {
            {"Television", "ABCTV"},
            {"Radio", "ABCDEF RadioTV"},
        }
    },
};
Run Code Online (Sandbox Code Playgroud)