просмотреть теги кода шаблона - asp.net mvc - regd - PullRequest
5 голосов
/ 15 сентября 2010

В чем разница между <%%> и <%:%> в контексте механизма просмотра asp.net MVC.В книге MVC2 это выглядит следующим образом:

  • <%%> кодовые слепки выполняют код, когда визуализируется шаблон представления.затем передать результат в выходной поток шаблона.

Когда использовать первое и когда использовать второе?

Ответы [ 2 ]

7 голосов
/ 15 сентября 2010

Книга почти правильна:

<% %> кодовые слепки выполняют код при визуализации шаблона представления.Таким образом, если вы вызовите функцию <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 или любой другой слепок кода, который оценивается как строка.

0 голосов
/ 15 сентября 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...