Какое официальное название для «специальных» тегов ASP.NET, например:
<%# %>
<%= %>
<%@ %>
<%$ %>
Кажется, я не могу понять их концептуальное или общеизвестное название, поэтому у меня возникают проблемы с поиском дополнительной информации. В качестве бонуса кто-нибудь может дать мне краткое изложение всех возможных «специальных тегов» и что каждый из них делает (или указывает мне на ресурс)?
Ответы:
Официальное название - « разделители сценариев на стороне сервера » или « встроенные выражения 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). Он сочетает в себе функциональность<%# %>
и<%: %>
.<%$ %>
является Expression Builder ASP.NET . Используется для привязки выражений во время выполнения для свойств элемента управления через атрибуты тега сервера. Используется сAppSettings
,ConnectionStrings
или илиResources
(или вашим собственным пользовательским расширением , например, для использования свойств выделенного кода). Эти назначения добавляются вOnInit()
метод сгенерированного класса.<%-- --%>
является комментарием на стороне сервера . Используется для исключения содержимого из компиляции (и, следовательно, будет генерировать ошибки, если закомментированный элемент управления упоминается в коде позади). В отличие от комментариев html, содержимое не будет включено в вывод.<!-- #Include ... -->
является на стороне сервера Включить директиву . Используется для вставки содержимого файла в страницу, элемент управления или глобальный файл. Полезно, когда пользовательский элемент управления излишний, а главную страницу нельзя использовать.Существует также блок декларации кода , окончательная форма блока встроенного кода.
Это используется для включения дополнительных членов (методов и т. Д.) В класс, сгенерированный из разметки ASP.NET. Они только когда-либо были предоставлены «в первую очередь для сохранения обратной совместимости со старыми технологиями ASP» и не рекомендуются для использования.
источник
Нет ответа на ваш вопрос об имени, но страница MSDN «Синтаксис страницы ASP.NET» довольно хороша (или, скорее, это страница верхнего уровня; страницы под ней дают больше информации).
РЕДАКТИРОВАТЬ: Ранее я думал, что
<%# ... %>
это не было включено в список, но, конечно, это в выражениях привязки данных. Doh.источник
Я всегда находил эту страницу быстрого запуска очень полезной, когда у меня возникают сомнения по поводу синтаксиса на стороне сервера. Он детализирует 8 различных стилей разметки и предоставляет иллюстративные примеры каждого из них, в дополнение к объяснению плюсов и минусов.
Тем не менее, он не упоминает директиву уровня страницы, которая описана в других разделах Быстрого старта.
Конечно, это относится к ASP.NET 2.0.
источник
Ребята из Microsoft иногда называют их «самородками» или «самородками кода».
источник
Я также слышал, что они называются «V жалами», в том числе на подкасте StackOverflow.
источник