我是剃鬚刀新手,面臨問題。我嘗試了一些我發現的解決方案,但他們都沒有工作。如何在其他循環中關閉表格標籤
下面給出的是我想在局部視圖中實現的代碼片段。我打開<table>
,但想要在if循環中有條件地關閉它,如圖所示。
從中得到結果的方法,它在我的模型中填充list屬性,然後在部分視圖中返回模型。
首先我檢查Type是否爲「H」,那麼表格標籤應該打開並且整個具有類型「H」的行將被標識爲標題。如果輸入下一個條目中的「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條件下關閉``標籤。我怎樣才能做到這一點?請幫助..
感謝戴夫的快速回復。 我想通過將標籤放在if循環中來對數據做更多的操作。 有沒有辦法可以做到這一點? 你想看看整個代碼? – mailmehere 2013-03-20 13:19:59
我更新了我問的問題。 – mailmehere 2013-03-20 13:38:33
@mailmehere你的方法可能會給你一個封閉的表格標籤,然後你的代碼打開TR標籤!你有多少行標題? – Dave 2013-03-20 13:41:16