Asp.net mvc Can';我不明白我的强类型视图的razor语法
我有一个强类型视图,当Asp.net mvc Can';我不明白我的强类型视图的razor语法,asp.net-mvc,razor,Asp.net Mvc,Razor,我有一个强类型视图,当id被传递给我的控制器操作方法时,我试图显示一个模型 我也在尝试构建一个到每个模型的链接 在开始我的foreach之前,我有一个I=0,然后我尝试使用I++将它增加1。问题是i++部分不起作用——我的链接中的id总是为零。为什么? 有人能帮忙吗 @{ var i = 0; foreach (var item in Model) { <tr> <td> @Html.DisplayF
id
被传递给我的控制器操作方法时,我试图显示一个模型
我也在尝试构建一个到每个模型的链接
在开始我的foreach
之前,我有一个I=0
,然后我尝试使用I++
将它增加1。问题是i++
部分不起作用——我的链接中的id
总是为零。为什么?
有人能帮忙吗
@{
var i = 0;
foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
@Html.DisplayFor(modelItem => item.Content)
</td>
<td>
@Html.ActionLink("Details", "Details", new { id = i })
i++;
</td>
</tr>
}
}
@{
var i=0;
foreach(模型中的var项目)
{
@DisplayFor(modeleItem=>item.Title)
@DisplayFor(modelItem=>item.Content)
@ActionLink(“详细信息”,“详细信息”,新的{id=i})
i++;
}
}
Razor尽最大努力区分代码和标记/html/text,这通常并不容易。在这种情况下,i++
被视为文本
原因是,foreach{
部分后面有标记,导致读取模式切换到markup/html/text。在该模式下,只有@…
,@{…
或}
被识别为代码,其他所有内容都被视为markup/html/text
如果发生这种情况,只需在语句周围放置@{…}
,如下所示:
<td>
@Html.ActionLink("Details", "Details", new { id = i })
@{
i++;
}
</td>
@ActionLink(“详细信息”,“详细信息”,新的{id=i})
@{
i++;
}
Razor尽最大努力区分代码和标记/html/文本,这在一般情况下并不容易。在这种情况下,i++
被视为文本
原因是,foreach{
部分后面有标记,导致读取模式切换到markup/html/text。在该模式下,只有@…
,@{…
或}
被识别为代码,其他所有内容都被视为markup/html/text
如果发生这种情况,只需在语句周围放置@{…}
,如下所示:
<td>
@Html.ActionLink("Details", "Details", new { id = i })
@{
i++;
}
</td>
@ActionLink(“详细信息”,“详细信息”,新的{id=i})
@{
i++;
}
在结束后将i++;
移动到
您的i++
是否确实被认为是代码而不是标记??尝试将其包装在@()
中,例如@(i++)
对不起,我的意思是@{/code>-@()
我相信你可能不想在结束后移动I++;
的HTML输出I++
是你的I++
肯定被认为是代码而不是标记??试着用@()
包装它,例如@(I++)
对不起,我的意思是{}
-这个@()
我认为输出到HTML可能是您不想要的