ASP.NET计数器循环

时间:2015-05-20 15:51:42

标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor

我的ASP.NET代码中有一个foreach循环,我试图通过在循环结束时添加@counter++来添加计数器,但是它不起作用,我得到一个无效的表达式术语错误。我也尝试了@{ counter++ },但这也没有用。

<table border="1" style="width:762px;height:25px; border-style:1px solid #000; border-collapse:collapse; clear:both;">
@{
    int counter = 1;
}
@foreach (var person in @ViewBag.POLoopList)
{
    <tr>
        <td style="width:24px; text-align:right;">@counter</td>
        <td style="width:55px">@person.EstPhase</td>
        <td style="width:32px">@person.JCCategory</td>
        <td style="width:180px">@person.ItemsDesc</td>
        <td style="width:90px; text-align:left;">@person.Comments</td>
        <td style="width:57px; text-align:right;">@person.OrderQty</td>
        <td style="width:40px; text-align:center;">@person.OrderUOM</td>
        <td style="width:56px; text-align:right;">@Convert.ToDouble(person.Rate).ToString("N")</td>
        <td style="width:70px; text-align:right;">$@Convert.ToDouble(person.Pretax).ToString("N")</td>
    </tr>
    @counter++
}
</table>

2 个答案:

答案 0 :(得分:3)

@

中删除@counter++
<table border="1" style="width:762px;height:25px; border-style:1px solid #000; border-collapse:collapse; clear:both;">
            @{
                int counter = 1;
            }
            @foreach (var person in @ViewBag.POLoopList)
            {
                <tr>
                    <td style="width:24px; text-align:right;">@counter</td>
                    <td style="width:55px">@person.EstPhase</td>
                    <td style="width:32px">@person.JCCategory</td>
                    <td style="width:180px">@person.ItemsDesc</td>
                    <td style="width:90px; text-align:left;">@person.Comments</td>
                    <td style="width:57px; text-align:right;">@person.OrderQty</td>
                    <td style="width:40px; text-align:center;">@person.OrderUOM</td>
                    <td style="width:56px; text-align:right;">@Convert.ToDouble(person.Rate).ToString("N")</td>
                    <td style="width:70px; text-align:right;">$@Convert.ToDouble(person.Pretax).ToString("N")</td>
                </tr>
            counter++
            }
        </table>

答案 1 :(得分:2)

当你在foreach中并且你没有将变量放在html元素中时,你不需要@符号。

变化:

@counter++

counter++

此外,这是一个关于Razor Syntax

的快速指南