如何获取一个数据集/数据表并打印嵌套内容?

发布于 2024-11-02 15:35:33 字数 693 浏览 0 评论 0原文

我有一个包含以下内容的 DataTable:

Category    Vehicle_Num     
Minivan     1
Minivan     2
Minivan     3
Caravan     1
Caravan     6
5door       1
5door       3

etc...

我想以以下格式将结果打印到 aspx 页面:

<h2>Minivan</h2>
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>

<h2>Caravan</h2>
<ul>
    <li>1</li>
    <li>6</li>
</ul>

<h2>5door</h2>
<ul>
    <li>1</li>
    <li>3</li>
</ul>

我对如何在 asp.net 中执行此操作有点困惑。在 PHP 世界中,我可以轻松地将数据表转换为关联数组,然后打印到模板文件。我想知道这是否与我需要对 ASP.NET 采取的方法相同。

I have a DataTable with the following content:

Category    Vehicle_Num     
Minivan     1
Minivan     2
Minivan     3
Caravan     1
Caravan     6
5door       1
5door       3

etc...

I want to print the results to an aspx page in the format:

<h2>Minivan</h2>
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>

<h2>Caravan</h2>
<ul>
    <li>1</li>
    <li>6</li>
</ul>

<h2>5door</h2>
<ul>
    <li>1</li>
    <li>3</li>
</ul>

I'm a little confused on how to do this in asp.net. In the PHP world, it's easy for me to convert a data table into associative arrays, then print to template files. I'm wondering if that's the same approach I need to take with asp.net.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

究竟谁懂我的在乎 2024-11-09 15:35:33

使用两个中继器很容易:

<asp:Repeater Id="Categories" runat="server">
<ItemTemplate>
  <h2><%#Eval("Category") %></h2>
    <ul>
    <asp:Repeater Id="myRep" runat="server" DataSource='<%# Eval("Numbers") %>'>
    <ItemTEmplate>
    <li><%# Eval("VehicleNum") %></li>
    </ItemTemplate>
    </asp:Repeater>
    </ul>
</ItemTemplate>
</asp:Repeater>

并且在类似这样的代码后面:

Categories.DataSource = dt.Rows.Cast<DataRow>
.Select(r => new { Category = r.Field<string>("Category"), VehicleNum = r.Field<string>("Vehicle_Num") })
.GroupBy(v => v.Category)
.Select(g => new { Category = g.Key, Numbers = g.ToList() });

It's easy with two repeaters:

<asp:Repeater Id="Categories" runat="server">
<ItemTemplate>
  <h2><%#Eval("Category") %></h2>
    <ul>
    <asp:Repeater Id="myRep" runat="server" DataSource='<%# Eval("Numbers") %>'>
    <ItemTEmplate>
    <li><%# Eval("VehicleNum") %></li>
    </ItemTemplate>
    </asp:Repeater>
    </ul>
</ItemTemplate>
</asp:Repeater>

and in code behind something like this:

Categories.DataSource = dt.Rows.Cast<DataRow>
.Select(r => new { Category = r.Field<string>("Category"), VehicleNum = r.Field<string>("Vehicle_Num") })
.GroupBy(v => v.Category)
.Select(g => new { Category = g.Key, Numbers = g.ToList() });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文