ASP.NET MVC Html Helpers - нужен ли Response.Write? - PullRequest
2 голосов
/ 19 июля 2009

При использовании Html-помощников для ASP.NET MVC мне нужно обернуть их в Response.Пишите, иначе они не отображаются. Однако образцы (например, 1 & 2 ), которые я нахожу в сети для ASP.NET MVC, похоже, не делают этого. Что-то изменилось или я что-то не так делаю?

Из образцов, которые я нахожу, должно быть так:

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

Однако это ничего не отображает, поэтому мне нужно обернуть его в Response.Write следующим образом:

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

Ответы [ 2 ]

16 голосов
/ 19 июля 2009

Вам нужно написать их так:

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

Обратите внимание на <% = перед Html.ActionLink. Это записывает значение в ответ. </p>

9 голосов
/ 19 июля 2009

Html.ActionLink ничего не записывает в поток ответов. Он просто возвращает string. Для вывода этого в ответе необходимо использовать Response.Write:

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

или, альтернативно, есть сокращение для Response.Write:

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

Обратите внимание, что последний синтаксис требует выражения , а не оператора, поэтому он не должен иметь точку с запятой.

...