Они несколько неофициально упоминаются, поскольку "пчела жалит". Существует 4 типа:
<%# %>
вызывается во время фазы DataBinding.
<%= %>
используется для получения значений от кода до уровня UI. Предназначенный для обратной совместимости с приложениями ASP. Не должен использовать в.NET.
<%@ %>
представляет директивы, и позвольте поведениям быть установленными, не обращаясь к коду.
<%: %>
(представленный в ASP.NET 4), совпадает с %=
, но с добавленной функциональностью HtmlEncoding вывод. Намерение состоит в том, чтобы это было использованием по умолчанию (законченный %=
) помочь экранировать против нападений инжекции сценария.
Директивы указывают настройки, которые используются страницей и компиляторами пользовательского элемента управления, когда компиляторы обрабатывают страницы ASP.NET Web Forms (.aspx файлы) и пользовательский элемент управления (.ascx) файлы.
ASP.NET рассматривает любой направляющий блок (<% %>), который не содержит явное направляющее имя как директива Page (для страницы) или как директива Управления (для пользовательского элемента управления).
@Esteban - Добавленный ссылка MSDN к директивам. При необходимости... в большем количестве объяснения сообщите мне.
Как Albert говорит, это - все, чтобы сделать с парсингом операторов привязки данных.
# версия используется в то время как привязка данных. <% = является просто простой Ответ. Записать
Не полностью связанный с вопросом, существует другая связанная нотация в asp.net под названием Построитель выражений:
<asp:SqlDataSource ... Runat="server"
ConnectionString="<%$ ConnectionStrings:Northwind %>"
/>
<asp:Literal Runat="server"
Text="<%$ Resources:MyResources, MyText %>"
/>
и это расширяемо, см. http://msdn.microsoft.com/en-us/magazine/cc163849.aspx#S4
JavaScript в .aspx, который использует основную страницу.
var e = document.getElementById('<%= lblDescription.ClientID %>');
e.innerHTML = 'getElementById(\'lblDescription\') will be null';