Книга почти правильна:
<% %>
кодовые слепки выполняют код при визуализации шаблона представления.Таким образом, если вы вызовите функцию <div><% MyFunc() %></div>
, функция you будет выполнена во время рендеринга после открытия тега, если div был отрисован, но до того, как был закрыт закрывающий тег.Функция может делать все что угодно, проверять некоторые условия и завершать работу с ошибками, устанавливать некоторые переменные, использовать HttpContext.CurrentContext.Response.Write
(или просто Response.Write
в веб-формах) для записи в поток ответов.
<%: %>
слепки кодавыполнить код, содержащийся в них, а затем отобразить результат html в кодировке в выходной поток шаблона.то есть это то же самое, что и <% HttpServerUtility.HtmlEncode(HttpContext.CurrentContext.Response.Write(MyFunc()))%>
<%= %>
кодовые слепки выполняют код, содержащийся в них, и затем отображают результат без html-кодировки в выходной поток шаблона.то есть это то же самое, что <% HttpContext.CurrentContext.Response.Write(MyFunc())%>
--- MyFunc () в последних двух случаях должна возвращать строку.Это также может быть ссылка на какое-то свойство ViewModel
или любой другой слепок кода, который оценивается как строка.