【问题标题】:Razor create dynamic table 6 rows x columnsRazor 创建 6 行 x 列的动态表
【发布时间】:2014-08-11 14:11:43
【问题描述】:

我正在尝试使用项目列表动态创建一个表。表格必须始终有 6 行,但列数未定义。例如,它可以是 75 或 167 项。

这是我到目前为止所做的:

<table>
    <tr>
        @{
            for (int i = 0; i < Model.mListCardSets.Count; i++)
            {
                if (i%6 == 0)
                {
                    @:<tr>
                }
                <td>
                    @Html.HiddenFor(_item => _item.mListCardSets[i].Name)
                    @Html.HiddenFor(_item => _item.mListCardSets[i].Code)
                    @Html.CheckBoxFor(_item => _item.mListCardSets[i].IsChecked, new { @class = "checkGroup4", @id = Model.mListCardSets[i].Name })
                    @Html.DisplayFor(_item => _item.mListCardSets[i].Name) 
                    @Html.Image("~\\Images\\CardSetRarity\\" + Model.mListCardSets[i].Code + "_R.jpeg", Model.mListCardSets[i].Name, new { @title = Model.mListCardSets[i].Name })
                </td>
                if (i%6 == 0)
                {
                    @:</tr>
                }
            }
        }
    </tr>
</table>

我已经尝试了多种其他方法,但都没有成功。

【问题讨论】:

    标签: html razor


    【解决方案1】:

    找到我的答案!

    解决办法如下:

    <table id="cardSetTable" style="overflow-x: scroll;">
        @{
            var divfactor = (Model.mListCardSets.Count / 6) + (Model.mListCardSets.Count % 6);
    
            int count = 0;
    
            <tr>
                @for (int i = 0; i < divfactor; i++)
                {
                    <td>
                        @Html.HiddenFor(_item => _item.mListCardSets[i].Name)
                        @Html.HiddenFor(_item => _item.mListCardSets[i].Code)
                        @Html.CheckBoxFor(_item => _item.mListCardSets[i].IsChecked, new { @class = "checkGroup4", @id = Model.mListCardSets[i].Name })
                        @Html.DisplayFor(_item => _item.mListCardSets[i].Name) 
                        @Html.Image("~\\Images\\CardSetRarity\\" + Model.mListCardSets[i].Code + "_R.jpeg", Model.mListCardSets[i].Name, new { @class = "nullify", @title = Model.mListCardSets[i].Name })
                    </td>
                }
                @{
                    count++;
                }
            </tr>
            <tr>
                @for (int i = 0; i < divfactor; i++)
                {
                    <td>
                        @Html.HiddenFor(_item => _item.mListCardSets[i + (count * divfactor)].Name)
                        @Html.HiddenFor(_item => _item.mListCardSets[i + (count * divfactor)].Code)
                        @Html.CheckBoxFor(_item => _item.mListCardSets[i + (count * divfactor)].IsChecked, new { @class = "checkGroup4", @id = Model.mListCardSets[i + (count * divfactor)].Name })
                        @Html.DisplayFor(_item => _item.mListCardSets[i + (count * divfactor)].Name) 
                        @Html.Image("~\\Images\\CardSetRarity\\" + Model.mListCardSets[i + (count * divfactor)].Code + "_R.jpeg", Model.mListCardSets[i + (count * divfactor)].Name, new {@class = "nullify",  @title = Model.mListCardSets[i + (count * divfactor)].Name })
                    </td>
                }
                @{
                    count++;
                }
            </tr>
            <tr>
                @for (int i = 0; i < divfactor; i++)
                {
                    <td>
                        @Html.HiddenFor(_item => _item.mListCardSets[i + (count * divfactor)].Name)
                        @Html.HiddenFor(_item => _item.mListCardSets[i + (count * divfactor)].Code)
                        @Html.CheckBoxFor(_item => _item.mListCardSets[i + (count * divfactor)].IsChecked, new { @class = "checkGroup4", @id = Model.mListCardSets[i + (count * divfactor)].Name })
                        @Html.DisplayFor(_item => _item.mListCardSets[i + (count * divfactor)].Name) 
                        @Html.Image("~\\Images\\CardSetRarity\\" + Model.mListCardSets[i + (count * divfactor)].Code + "_R.jpeg", Model.mListCardSets[i + (count * divfactor)].Name, new { @class = "nullify", @title = Model.mListCardSets[i + (count * divfactor)].Name })
                    </td>
                }
                @{
                    count++;
                }
            </tr>
            <tr>
                @for (int i = 0; i < divfactor; i++)
                {
                    <td>
                        @Html.HiddenFor(_item => _item.mListCardSets[i + (count * divfactor)].Name)
                        @Html.HiddenFor(_item => _item.mListCardSets[i + (count * divfactor)].Code)
                        @Html.CheckBoxFor(_item => _item.mListCardSets[i + (count * divfactor)].IsChecked, new { @class = "checkGroup4", @id = Model.mListCardSets[i + (count * divfactor)].Name })
                        @Html.DisplayFor(_item => _item.mListCardSets[i + (count * divfactor)].Name) 
                        @Html.Image("~\\Images\\CardSetRarity\\" + Model.mListCardSets[i + (count * divfactor)].Code + "_R.jpeg", Model.mListCardSets[i + (count * divfactor)].Name, new { @class = "nullify", @title = Model.mListCardSets[i + (count * divfactor)].Name })
                    </td>
                }
                @{
                    count++;
                }
            </tr>
            <tr>
                @for (int i = 0; i < divfactor; i++)
                {
                    <td>
                        @Html.HiddenFor(_item => _item.mListCardSets[i + (count * divfactor)].Name)
                        @Html.HiddenFor(_item => _item.mListCardSets[i + (count * divfactor)].Code)
                        @Html.CheckBoxFor(_item => _item.mListCardSets[i + (count * divfactor)].IsChecked, new { @class = "checkGroup4", @id = Model.mListCardSets[i + (count * divfactor)].Name })
                        @Html.DisplayFor(_item => _item.mListCardSets[i + (count * divfactor)].Name) 
                        @Html.Image("~\\Images\\CardSetRarity\\" + Model.mListCardSets[i + (count * divfactor)].Code + "_R.jpeg", Model.mListCardSets[i + (count * divfactor)].Name, new { @class = "nullify", @title = Model.mListCardSets[i + (count * divfactor)].Name })
                    </td>
                }
                @{
                    count++;
                }
            </tr>
            <tr>
                @{
                    var lastRow = divfactor*count;
    
                    for (int i = lastRow; i < Model.mListCardSets.Count; i++)
                    {
                        <td>
                            @Html.HiddenFor(_item => _item.mListCardSets[i].Name)
                            @Html.HiddenFor(_item => _item.mListCardSets[i].Code)
                            @Html.CheckBoxFor(_item => _item.mListCardSets[i].IsChecked, new { @class = "checkGroup4", @id = Model.mListCardSets[i].Name })
                            @Html.DisplayFor(_item => _item.mListCardSets[i].Name) 
                            @Html.Image("~\\Images\\CardSetRarity\\" + Model.mListCardSets[i].Code + "_R.jpeg", Model.mListCardSets[i].Name, new { @class = "nullify", @title = Model.mListCardSets[i].Name })
                        </td>
                    }
                }
            </tr>
        }
    </table>
    

    【讨论】:

      猜你喜欢
      • 2015-03-22
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 2021-03-14
      • 2017-09-14
      • 2023-03-31
      • 1970-01-01
      相关资源
      最近更新 更多