如何在同一个表TD内创建嵌套单元格

时间:2013-08-13 13:21:58

标签: html razor

我有下表: -

<table class="table table-striped">
    <thead>
        <tr>
            <th></th>
        </tr>
    </thead>
    <tbody>
        @foreach(var permisionMag in Model.PermisionManagement)
        {
            <tr>
                <td>@permisionMag.Name</td>
                @{
                    int i = 0;
                    <td class="f">
                        @foreach(var item in permisionMag.TechnologyTypes.OrderBy(a => a.Name)) {
                            @(i+1)  @item.Name  
                            i = i + 1;
                        }
                        <br />           
                    </td>
                }
            </tr>
        }
    </tbody>
</table>

但是目前我需要第二列有嵌套行而不是在同一个TD内显示行?有什么建议吗?

3 个答案:

答案 0 :(得分:1)

您不能直接生成表格单元格,您必须在第二个表格单元格内生成一个新表格。 您还可以将@item.Name渲染为span / div和样式,以创建嵌套表(jsFiddle example)的错觉。

答案 1 :(得分:1)

您可以在第一列使用rowspan:

<table class="table table-striped">
    <thead>
        <tr>
            <th></th>
        </tr>
    </thead>
    <tbody>@foreach(var permisionMag in Model.PermisionManagement) {
        <tr>
            <td rowspan="@permisionMag.TechnologyTypes.Count()">@permisionMag.Name</td>
            @{
             int i = 0;
             foreach (var item in permisionMag.TechnologyTypes.OrderBy(a => a.Name))
             { 

                i = i + 1;
                if( i > 1) {
                   </tr><tr>
                }
                <td class="f">
                     @(i+1)  @item.Name  
                </td>
              }
            }
        </tr>
        }
    </tbody>
</table>

See expecting result

我希望它有所帮助。

答案 2 :(得分:-1)

如果我理解你的问题,那么你可能想要这样做:

@foreach(var permisionMag in Model.PermisionManagement) {
    <tr>
    <td rowspan="@permisionMag.TechnologyTypes.Count()">@permisionMag.Name</td>

    @{int i = 0;
    @foreach (var item in permisionMag.TechnologyTypes.OrderBy(a => a.Name)) {
        <td class="f">
            @(i+1)  @item.Name
            i = i + 1;
        </td>
        </tr>
        <tr>
        }
    </tr>
    }
}

但它本质上应该建立这样的东西:

----------------
| Name | Item1 |
|      | ----- |
|      | Item2 |
|      | ----- |
|      | Item3 |
|      | ----- |
|      | Item4 |
----------------