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