3

我有一个来自具有以下结构的数据库的 dto:

public class DtoPaymentPlan
{
    public DateTime Date{ get; set; }
    public string Description { get; set; }
    public List<string> Docs { get; set; }
    public decimal Total{ get; set; }
}

我正在尝试用剃刀制作一个 html 表,结果表使用这些 dto 之一作为每一列。通常我会生成表,其中列表的每个元素都是一行。我一直在尝试一些想法,但我想不出一种有效的方法来做到这一点。

数据源是一个列表

输出应该是这样的:

Date       |Date        |Date        |Date        |Date

Description|Description |Description |Description |Description 

Docs       |Docs        |Docs        |Docs        |Docs        

Total      |Total       |Total       |Total       |Total
4

2 回答 2

7

我想它应该是这样的:

<table>
        <tr>
            @foreach (DtoPaymentPlan item in List)
            {
                <td>@item.Date</td>
            }
        </tr>
        <tr>
            @foreach (DtoPaymentPlan item in List)
            {
                <td>@item.Description </td>
            }
        </tr>
        <tr>
            @foreach (DtoPaymentPlan item in List)
            {
                <td>
                    @for (int i = 0; i < item.Docs.Count; i++)
                    {
                        @item.Docs[i]+" " + i.ToString();
                    }

                </td>


            }
        </tr>
        <tr>
            @foreach (DtoPaymentPlan item in List)
            {
                <td>@item.Total </td>


            }
        </tr>
    </table>
于 2013-11-07T19:27:47.270 回答
1

因此,您将始终拥有 4 行 (TR),可以将其视为固定的,因为您通常使用列。

您可以在 C# 控制器操作中转换您当前的集合,为每个字段制作 4 个列表。

然后,您可以在 TR #1 中迭代日期集合。然后,您跳转到 TR #2,并循环浏览“描述”集合......等等。

于 2013-11-07T19:27:53.120 回答