4

我有一个应该有条件地呈现 ActionLink 的 ASP.Net MVC 4 视图。但是,ActionLink 不会在最终输出中呈现。为了诊断问题,我在所需的 ActionLink 前后添加了文本,并且还在if正文之外复制了 ActionLink 代码。

结果是正文之外的 ActionLink 代码if以及之前/之后的文本呈现,但不是我真正想要的 ActionLink。

@Html.ActionLink("NEXT", "_NextPage")

@if (true /*!Model.IsFinalPage*/) {
    <text>Pre</text>
    Html.ActionLink("NEXT", "_NextPage");
    <text>Post</text> 
}

输出:

下一篇

(下一个是适当的链接)

4

1 回答 1

5

动作链接需要 @ 才能在这里工作。

在 razor 中,普通的 Html.ActionLink返回html 字符串,但如果没有 @,它不会被写入缓冲区。所以

@Html.ActionLink 

将与

Response.Write(Html.ActionLink);
于 2012-05-20T06:55:22.373 回答