Можно создать дубликат:
ASP.NET “special” tags<%# %> против <%= %>
В чем разница между <%# ... %>
, <%= ... %>
и <%$ ... %>
?
Я ничего не смог найти. Невозможно найти «<% =» с помощью поисковой системы.
У этих тегов есть имя?
Можно создать дубликат:
ASP.NET “special” tags<%# %> против <%= %>
В чем разница между <%# ... %>
, <%= ... %>
и <%$ ... %>
?
Я ничего не смог найти. Невозможно найти «<% =» с помощью поисковой системы.
У этих тегов есть имя?
<%= ... %>
обычно эквивалентен Response.Write (...) он не может использоваться в атрибуте управления, который является runat = "server"
<%: ... %>
(от .NET v4.0) представляет собой HTML-кодированную версию <%= %>
(как упоминает @Eric)
<%# ... %>
используется в контексте привязки данных для привязок, Eval или выход (как упоминается @Ray)
<%$ ... %>
используется в контексте атрибут управления с runat = "server" (google "expression builder" также имеет отношение к созданию общего назначения 'Code' expression builder.Это оценивается, когда атрибут/параметр требуется для элемента управления.
<% #%> попытается привязать данные к источнику данных с помощью функции Bind(). Это делает его двухсторонней функцией (чтение и запись).
<% =%> сделает данные доступными только для чтения.
Также <%= %> печатает все, что находится между блоками, где <% %> просто выполняет эти утверждения – Jimmy
И теперь у нас также есть <%: %> для вывода с кодировкой html. –
<% #%> can ТОЛЬКО можно использовать в контексте привязки данных.
<% =%> ожидает строковое значение, которое затем будет включать в выходной поток. Так что либо строковая переменная, либо метод, который возвращает строку. Все остальное вызовет ошибку.
<% #%> оценивается во время связывания данных. Для этого необязательно требуется Eval() или Bind(), и предложил Мэтью - я часто использую его для отображения обычного текста в элементе управления ретранслятора.
<% =%> оценивается как страница рендеринга. Это эквивалентно вызову Response.Write().
+1 Я собирался спросить о другом ответе о «когда» оценивается каждый. – AaronLS
Я нашел хорошую информацию, которая уточняет терминологию для будущих поисков Google:
http://authors.aspalliance.com/aspxtreme/aspnet/syntax/aspnetpagesyntax.aspx
Код Рендер Blocks:
<% inline code %>
ярлык для HttpResponse.Write:
<%=inline expression %>
выражения привязки данных:
<%# databinding expression %>
В собственности:
<tagprefix:tagname property = "<%# databinding expression %>" runat="server" />
Серверные комментарии, таким образом, что они не появляются в исходном коде страницы клиента:
<%-- commented out code or content --%>
Что касается терминологии, я думаю, что они называются встроенными выражениями. – AaronLS