我正在尝试计算我的@helper
运行的总次数(将此@helper
输出的列表项分解为10组)。
无论出于何种原因,我无法找到/弄清楚这一点。我只需要一个可以在@helper
内增加的变量。
@functions
{
public int totalItems = 0;
}
@helper myHelper()
{
@if (totalItems % 10 == 0)
{
</ul><ul>
}
<li>List Item #@totalItems</li>
@{
// Increment counter
totalItems = (totalItems + 1);
}
}
@{
<ul>
@for(var i = 0; i < 25; i++)
{
@myHelper();
}
</ul>
// It would be great if I could do this after the loop!
<p>Last list contains @totalItems list items!</p>
}
我只是把上面的代码大脑抛弃了,很抱歉,如果有语法错误......但是我认为这是我的观点?
我想要输出上面的代码:
<ul>
<li>List Item #1</li>
<li>List Item #2</li>
<li>List Item #3</li>
<li>List Item #4</li>
<li>List Item #5</li>
<li>List Item #6</li>
<li>List Item #7</li>
<li>List Item #8</li>
<li>List Item #9</li>
<li>List Item #10</li>
</ul>
<ul>
<li>List Item #1</li>
<li>List Item #2</li>
<li>List Item #3</li>
<li>List Item #4</li>
<li>List Item #5</li>
<li>List Item #6</li>
<li>List Item #7</li>
<li>List Item #8</li>
<li>List Item #9</li>
<li>List Item #10</li>
</ul>
<ul>
<li>List Item #1</li>
<li>List Item #2</li>
<li>List Item #3</li>
<li>List Item #4</li>
<li>List Item #5</li>
</ul>
上述标记虽然没有实现。相反,页面错误。我没有使用像Visual Studio这样的IDE,因此我不知道抛出了什么错误,但是当我将以下内容添加到我的视图时会出现错误:
@{
// Increment counter
totalItems = (totalItems + 1);
}
任何人都可以解释实现这一目标的正确方法吗?非常感谢您的帮助!
答案 0 :(得分:0)
你可以简化整个事情:
@helper myHelper(){
int totalItems = 0;
<ul>
@for(var i = 0; i < 25; i++)
{
totalItems = i;
@if (totalItems % 10 == 0)
{
</ul><ul>
}
<li>List Item #@totalItems</li>
}
</ul>
<p>Last list contains @totalItems list items!</p>
}
通过删除所有额外的helper
内容,并使用modulo(%
)而不是每10次重置一次。您可能需要进行一些修改,我对剃刀语法不太熟悉。