如何制作一个"多维关联数组"来自SQL结果

时间:2018-01-05 19:25:42

标签: c# asp.net

我正在使用来自php背景的ASP工作。 (不要推荐!)

我有数据库数据与未知数量的"组#34;每个人都有未知数量的"成员"

在PHP中我只会像这样构建数组;

foreach ($groups as $group) {
    foreach ($members as $member) {
        $array[$group][] = $member;
    }
}

这已经过度简化,并且会有SQL查询等,但你明白了。

我实际上只是echo循环中的数据来构建我的HTML。

我如何在ASP中执行此操作。我有一个ascx和ascx.cs文件。我可以很好地查询我的数据,但不知道如何循环它并将其输出到ascx文件中。

我看到this answer here,但不要跟随。

我无法将这些列表包裹在没有键等的列表中。

输出就像这样

-group1
    --member1
    --member2
    --member3
    --member4
-group2
    --member1
    --member2
-group3
    --member1
    --member2
    --member3

1 个答案:

答案 0 :(得分:0)

您可以为此构建一些类,作为一个解决方案。

public class Member
{
    *member properties here*
}
public class Group 
{
    List<Member> Members {get;set;} = new List<Member>();
}

并填写对象:

var groups = new List<Group>();
foreach (var *things* in *results*)
{
    Group group = new Group();
    foreach(var *stuff* in *things*)
    {
         Member member = new Member();
         member.*property* = *stuff*.*property*; (or perhaps this is in an array, just the array and then the correct index)
         group.add(member);
    }
    groups.add(group)
}

然后,当将其添加到您的页面时,您可以通过模型将该对象发送到那里,该模型需要附加到该页面。

这或许很模糊,但它会给你一个开始。欢迎来到面向对象!