【问题标题】:Programmatically start new TableRow in table以编程方式在表中启动新的 TableRow
【发布时间】:2013-03-18 23:14:23
【问题描述】:

我正在尝试加载模型并将每个模型设置为单独的 <td> 当我达到 5 <td> 我想自动启动一个新的 <tr> 但它并不能真正使用 if 语句。有可能还是我应该采用完全不同的方法?

这是我的代码:

<tr>
        @for (int i = 0; i < Model.Count; i++)
        {
            <td>
                <img width="200px" src="@Url.Action("GetImage", "Beheer", new { productId = Model[i].product_id }) " alt="pasfoto"/><br />
                <center><b>@Html.ActionLink(Model[i].naam, "PrProduct", "Categorie", new { id = Model[i].product_id }, null)</b></center>
                <center>€ @Html.Label(Model[i].prijs)</center> 
            </td>
        }
</tr>

【问题讨论】:

  • 您是否也忘记了C# 标签?
  • 是的,但它更多的是关于表格而不是关于 c# 代码,可以是任何类型的代码。

标签: c# html html-table


【解决方案1】:

使用模运算符%。每次i%5 == 0,在td周围打印一行

@for (int i = 0; i < Model.Count; i++)
{
    @if(i%5 == 0)
    {
        <tr>
    }
    <td>
        <img width="200px" src="@Url.Action("GetImage", "Beheer", new { productId = Model[i].product_id }) " alt="pasfoto"/><br />
        <center><b>@Html.ActionLink(Model[i].naam, "PrProduct", "Categorie", new { id = Model[i].product_id }, null)</b></center>
        <center>€ @Html.Label(Model[i].prijs)</center> 
    </td>
    @if(i%5 == 0)
    {
        </tr>
    }
}

所以当i 为 0、5、10、15 等时,您将有一个表格行。

【讨论】:

  • 谢谢,我遇到了一个错误。我会尝试修复它,感谢您提供此代码。
  • 它在抱怨。 开始标签会抱怨它没有关闭。稍后在代码中看不到 标记。这就是为什么看不到所有右括号的原因我在运行时会出错
  • 说实话,我需要用 C# 刷掉我在整个 HTML 生成过程中的知识。你不能在变量中获取td 的内容,然后是if (i%5==0) { &lt;tr&gt; tdContent &lt;/tr&gt;} else { tdContent }。类似的东西。
  • 谢谢你让我站稳了脚跟,我只做了一个小的编辑就修复了它。如果您使用边框,不知道这是否正确,但对我来说这有效:我会放弃答案
【解决方案2】:
@for (int i = 0; i < Model.Count; i++)
{
@if(i%5 == 0)
{
    <tr></tr>
}
<td>
    <img width="200px" src="@Url.Action("GetImage", "Beheer", new { productId = Model[i].product_id }) " alt="pasfoto"/><br />
    <center><b>@Html.ActionLink(Model[i].naam, "PrProduct", "Categorie", new { id = Model[i].product_id }, null)</b></center>
    <center>€ @Html.Label(Model[i].prijs)</center> 
</td>
}

上面的代码对我有用。与Havelock给出的答案没有太大区别,但是如果您不关闭同一if语句中的html标签,它不会关闭上述代码中的括号。如果您使用边框,这种方式可能看起来不太好,因为我认为它会显示一个空行?但是,对我来说,这很好:)

【讨论】:

    猜你喜欢
    • 2015-04-20
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多