我正在使用 Razor 和几个局部视图开发一个 asp.net mvc 3 应用程序。我花了一些时间才意识到,在继续执行我的代码时我需要添加每个 HTML 标记之后,@
但这里我有一个部分视图,它返回一个运行时错误,抱怨缺少关闭}
,可能的原因是它被识别为 HTML 的一部分. 我无法修复,所以我在这里发布:
@model List<DocumentFields>[]
@{
int tempColumn = 1;
}
<tr>
@foreach (var field in Model)
{
if (field != null)
{
<td>
@for (int i = 0; i < field.Count; i++)
{
if (field[i].ColumnNo == tempColumn)
{
@field[i].QuestionText
@field[i].FieldValue
}
else
{
@(tempColumn++)
</td>
<td>
@field[i].QuestionText
@field[i].FieldValue
}
}
</td>
}
}
我尝试像这样更改视图的结尾:
</td>
@}
@}
因为这两个在 HTML 元素之后,并且可能也可以被识别为 HTML 的一部分,但这并不能解决问题。
似乎我看错了方向。当我像这样更改代码时:
if (field[i].ColumnNo == tempColumn)
{
@field[i].QuestionText
@field[i].FieldValue
}
else
{
@field[i].QuestionText
@field[i].FieldValue
}
它正在工作,但这并不能解决问题,我需要递增索引和 's 来正确格式化我的输出,我是否使用不正确?