ASP.NET "специальные" теги

Какое официальное название для "специальных" тегов ASP.NET, например:

<%# %>
<%= %>
<%@ %>
<%$ %>

Кажется, я не могу понять их концептуальное или общеизвестное название, поэтому у меня возникают проблемы с поиском дополнительной информации. В качестве бонуса кто-нибудь может дать мне краткое изложение всех возможных "специальных тегов" и что каждый из них делает (или указывает на ресурс)?

5 ответов

Решение

Официальное название - " разделители сценариев на стороне сервера" или " встроенные выражения ASP.NET". В диалоговом окне настроек подсветки синтаксиса Visual Studio 2008 они называются "HTML-сценарий на стороне сервера". Ребята из Microsoft называют их "самородками кода" в своих блогах.

  • <%@ %> директива для веб-страниц ASP.NET Используется для страниц и элементов управления для настройки параметров компилятора страницы / элемента управления (<%@ Control Inherits="MyParentControl" %>).
    • <%@ %> также Директива по применению. Используется для указания настроек приложения для global.asax. Отличайтесь от директив страницы, так как он использует только другой набор тегов.
  • <% %> является блоком рендеринга кода (для встроенного кода). Одна из 4 форм встроенных блоков кода. Используется для включения серверного кода в Render() метод (<% x = x + 1; %>) сгенерированного класса. Формат: одиночный / многострочный или многосвязный (например, if/then/else перемежается с html), но не может использоваться для объявления функций.
  • <%= %> является блоком рендеринга кода (для встроенных выражений) Используется как сокращение для <%Response.Write(value)%>
  • <%: %> (неофициально " Блок кодировки HTML-кода") такой же, как и предыдущий, но вывод кодируется в формате HTML.
  • <%# %> является выражением привязки данных Используется для односторонней (только для чтения) или двусторонней (обновляемой) привязки через Eval, Xpath, Bindили выражения (например, выбранное значение раскрывающегося элемента управления). Связывает выражения со свойствами элемента управления с привязкой к данным через разметку атрибута элемента управления или в виде отдельного тега, который генерирует DataBoundLiteralControl экземпляр со значением на его Text имущество. Выражения оцениваются DataBinding обработчик событий для элемента управления.
  • <%#: %> является HTML-кодированным выражением привязки данных (впервые в ASP.NET 4.5). Он сочетает в себе функциональность <%# %> а также <%: %>,
  • <%$ %> является построителем выражений ASP.NET Используется для привязки выражений во время выполнения для свойств элемента управления через атрибуты тега сервера. Используется с AppSettings, ConnectionStrings, или же Resources (или ваше собственное расширение, например, для использования свойств выделенного кода). Эти назначения добавляются к OnInit() метод генерируемого класса.
  • <%-- --%> является комментарием на стороне сервера Используется для исключения содержимого из компиляции (и, таким образом, генерирует ошибки, если закомментированный элемент управления упоминается в коде позади). В отличие от HTML-комментариев, содержимое не будет включено в вывод.
  • <!-- #Include ... --> директива включения на стороне сервера Используется для вставки содержимого файла в страницу, элемент управления или глобальный файл. Полезно, когда пользовательский элемент управления излишний, а главную страницу нельзя использовать.

Существует также блок декларации кода, окончательная форма блока встроенного кода.

<script runat="server">
bool IsTrue() {
  return false;
}
</script>

Это используется для включения дополнительных членов (методов и т. Д.) В класс, созданный из разметки ASP.NET. Они только когда-либо были предоставлены "в первую очередь для сохранения обратной совместимости со старыми технологиями ASP" и не рекомендуются для использования.

Нет ответа на ваш вопрос об имени, но страница MSDN "Синтаксис страницы ASP.NET" довольно хороша (или, скорее, это страница верхнего уровня; страницы под ней дают больше информации).

РЕДАКТИРОВАТЬ: я раньше думал, что <%# ... %> не был включен в список, но, конечно, он находится в выражениях привязки данных. Doh.

Ребята из Microsoft иногда называют их "самородками" или "самородками кода".

Я всегда находил эту страницу быстрого запуска очень полезной, когда у меня возникают сомнения по поводу синтаксиса на стороне сервера. Он детализирует 8 различных стилей разметки и предоставляет иллюстративные примеры каждого из них, в дополнение к объяснению плюсов и минусов.

Тем не менее, он не упоминает директиву уровня страницы, которая описана в других разделах Быстрого старта.

Конечно, это относится к ASP.NET 2.0.

Я также слышал, что они называются "V жалами", в том числе на подкасте Stackru.

Другие вопросы по тегам