[英]Parsing error in cshtml file in ASP.NET MVC4
在視圖中,我試圖連續顯示最多5個圖像。 我們的想法是通過使用</tr><tr>
html標記來引入一個新行來關閉當前行並開始一個新行,如下所示,但這會產生一個Parser錯誤。
分析器錯誤消息:代碼塊缺少結束“}”字符。 確保此塊中的所有“{”字符都有匹配的“}”字符,並且沒有任何“}”字符被解釋為標記。
我怎么能糾正這個?
<table>
<tr>
@{
int indx = 0;
foreach(var item in Model) {
indx++;
<td>
<a href ="@Url.Action("ShowPic", "ViewPhotos", new { id = item.ID })">
<img src="@String.Format("data:image/jpg;base64,{0}", Convert.ToBase64String(item.Image))" />
</a>
<br />
@Html.DisplayFor(modelItem => item.Caption)
</td>
if(indx%5==0) {
</tr><tr><!--Error here-->
}
}
}
</tr>
</table>
謝謝。
嘗試將此添加到相關行
@: </tr><tr><!--Error here-->
因為您將它包裝在HTML標記元素中,所以Razor無法確定if
中的內容if
是內容塊的開頭。 通過使用@:
我們指出語句的內容應該被視為內容。
您的第一個<tr>
和最后一個</tr>
超出了它的開始/結束標記的范圍:
<table>
@{
<tr>
int indx = 0; foreach (var item in Model) { indx++;
<td>
<a href ="@Url.Action("ShowPic", "ViewPhotos", new { id = item.ID })">
<img src="@String.Format("data:image/jpg;base64,{0}", Convert.ToBase64String(item.Image))" />
</a>
<br />
@Html.DisplayFor(modelItem => item.Caption)
</td>
if(indx%5==0) {
</tr>
<tr>
} }
</tr>
}
</table>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.