【发布时间】:2013-03-20 13:05:29
【问题描述】:
我是剃须刀新手,遇到了问题。我尝试了一些我找到的解决方案,但它们都不起作用。
下面给出的是我想在局部视图中实现的代码 sn-p。我正在打开 <table> 但想在 if 循环中有条件地关闭它,如图所示。
我从中获取结果的方法,它在我的模型中填充列表属性,然后在局部视图中返回模型。
首先,我检查类型是否为“H”,然后应该打开表格标签,并且类型为“H”的整行将被识别为标题。如果 type 下一个条目显示“D”,则表示它的数据存在于“H”类型中。如果详细信息中下一个元素的类型也是“H”,则关闭表格标签。因此,从第一个标识的“H”到下一个标识的“H”,该表应该存在,并且对于下一个“H”类型,应该启动一个新表。
@if (Model.Details.Count() > 0)
{
for (int count = 0; count < Model.Details.Count; count++)
{
//for heading
if (Model.Details[count].Type == "H")
{
<table>
<thead>
<tr>
@if (Model.Details[count].Column1 != null)
{
<th>
@Model.Details[count].Column1.ToString();
</th>
}
@if (Model.Details[count].Column2 != null)
{
<th>
@Model.Details[count].Column2.ToString();
</th>
}
@if (Model.Details[count].Column3 != null)
{
<th>
@Model.Details[count].Column3.ToString();
</th>
}
</tr>
</thead>
@if (count < Model.Details.Count)
{
if (Model.Details[count + 1].Type == "H")
{
</table>
}
}
}
//for data under each heading
@if (Model.Details[count].Type == "D")
{
<tr>
@if (Model.Details[count].Column1 != null)
{
<td>
@Model.Details[count].Column1.ToString();
</td>
}
@if (Model.Details[count].Column2 != null)
{
<td>
@Model.Details[count].Column2.ToString();
</td>
}
@if (Model.Details[count].Column3 != null)
{
<td>
@Model.Details[count].Column3.ToString();
</td>
}
</tr>
}
}
}
在开始的表格标签上显示错误
""table" 元素没有关闭。所有元素必须是 自动关闭或具有匹配的结束标记。”
在标签结束时错误提示
"遇到没有匹配开始的结束标记 "table" 标签。您的开始/结束标签是否正确平衡?”
我想在if条件下关闭``标签。我怎样才能做到这一点?请帮忙..
【问题讨论】:
标签: if-statement razor html-table