我试图关闭if条件内的div,该条件在foreach循环中。
@foreach (var item in ViewBag.modal)
{
counter++;
<div class="Class1">
<div class="span6">
<!-- block -->
<div class="block">
<div class="block-header">
<div class="left">
@item["Topic"];</div>
</div>
<div class="collapsein">
@item["Desc"];</div>
</div>
</div>
@if (counter % 2 == 0)
{
</div>
}
}我收到了这个错误
'/‘应用程序中的服务器错误。 解析器错误 描述:在解析服务此请求所需的资源时发生了错误。请查看以下具体的解析错误详细信息,并适当地修改源文件。 解析器错误消息: foreach块缺少一个关闭的"}“字符。确保对此块中的所有"{“字符都有匹配的"}”字符,并且没有任何"}“字符被解释为标记。
源错误:
Line 33: int counter = 0;
Line 34: }
Line 35: @foreach (var item in ViewBag.modal)
Line 36: {
Line 37: counter++; 源文件: /Views/Home/Index.cshtml行: 35
版本信息:微软.NET框架版本:4.0.30319;ASP.NET版本:4.0.30319.34249
发布于 2015-06-18 05:09:04
我认为你需要这样的东西,运行两个循环--一个是总循环,一个是两个项目。因此,这种松散的封闭元素的情况不会发生。
@for (int count = 0; count <= ViewBag.modal.Count; count++)
{
<div class="Class1">
@for (int counter = 0; counter < 2 && (count + counter - 1) <= ViewBag.modal.Count; counter++)
{
<div class="span6">
<!-- block -->
<div class="block">
<div class="block-header">
<div class="left">
@ViewBag.modal[count]["Topic"]
</div>
</div>
<div class="collapsein">
@ViewBag.modal[count]["Desc"]
</div>
</div>
</div>
}
</div>
}发布于 2015-06-18 04:53:13
您需要将其包装为原始的html!
改变-
@if (counter % 2 == 0)
{
</div>
}To-
@if (counter % 2 == 0)
{
@Html.Raw("</div>")
}此外,我还看到主容器Class1在循环中没有关闭。
https://stackoverflow.com/questions/30905404
复制相似问题