我是剃须刀的新手,面临一个问题。我尝试了一些我找到的解决方案,但它们都不起作用。
下面给出的是我想在部分视图中实现的代码片段。我正在打开<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>
}
}
}
在打开的表格标签上,错误说
““表”元素未关闭。所有元素必须是自关闭的或具有匹配的结束标记。
在标签结束时,错误说
“遇到没有匹配开始标签的结束标签“表”。你的开始/结束标签是否正确平衡?
我想在if条件下关闭``标签。我怎样才能做到这一点?请帮忙..