2

在为 ASP.NET MVC 使用 Html 帮助程序时,我需要将它们包装在 Response.Write 中,否则它们不会出现。但是,我在网上找到的 ASP.NET MVC 示例(例如12)似乎并没有这样做。有什么地方发生了变化还是我做错了什么?

从样本中我发现它应该是这样的:

<div class="row">
  <% Html.ActionLink("View", "Details", "People"); %>
</div>

但是,什么都没有显示,所以我需要将它包装在 Response.Write 中,如下所示:

<div class="row">
  <% Response.Write(Html.ActionLink("View", "Details", "People")); %>
</div>
4

2 回答 2

16

您需要像这样编写它们:

<div class="row">
    <%= Html.ActionLink("View", "Details", "People") %>
</div>

注意 Html.ActionLink 之前的 <%=。这会将值写入响应。

于 2009-07-19T19:07:12.120 回答
9

Html.ActionLink不向响应流写入任何内容。它只返回一个string. 要在响应中输出,您需要使用Response.Write

<% Response.Write(Html.ActionLink("View", "Details", "People")); %>

或者,有一个简写形式Response.Write

<%= Html.ActionLink("View", "Details", "People") %>

请注意,后一种语法需要表达式而不是语句,因此它不应该有分号。

于 2009-07-19T19:09:56.437 回答