ASP中cshtml文件解析错误.净MVC4
本文关键字:错误 MVC4 cshtml 文件 ASP | 更新日期: 2023-09-27 18:16:12
在视图中,我试图在一行中最多显示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
中的内容是内容块的开始。通过使用@:
,我们表明语句的内容应被视为内容。
您的第一个<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>