Как использовать Html.RenderAction в SparkView Engine? - PullRequest
3 голосов
/ 25 января 2010

Я получаю сообщение об ошибке, когда использую его вот так

!{Html.RenderAction("Action", "Controller")}

Мне пришлось переключиться на механизм просмотра веб-форм и заменить его на

<% Html.RenderAction("Action", "Nav"); %>

чтобы заставить его работать.

Я получаю сообщение об ошибке: «Невозможно преобразовать void в char»

Ответы [ 2 ]

7 голосов
/ 25 января 2010
<% Html.RenderAction("Action", "Nav"); %>

совпадает с

# Html.RenderAction("Action", "Nav");

в синтаксисе Spark. {} выражение ожидает, что результат будет возвращен и записан в поток; RenderAction ничего не возвращает, он пишет в сам поток. Вот почему вы должны вызывать его внутри блока кода и не можете делать это внутри выражения.

4 голосов
/ 25 января 2010

Веб-формы:
<% %> = код сервера
<%= %> = код сервера, который Response.Write(x), где x == оператор

Spark:
# == <% %>
${} == <% =%>

...