#asp.net #symbols
#asp.net #символы
Вопрос:
Я сталкивался с разными символами на странице .aspx из asp.net
<%#eval(expr) %>
<%#bind(expr) %>
<% %> - for specifying the c# code in aspx page
<%$ %> - for specifying the SQL connection string in <asp:SqlDataSource>
Есть ли какая-либо логика, лежащая в основе этих символов, или это просто синтаксис, который мы должны запоминать вслепую? Что вообще означает <% %>?
Ответ №1:
Это просто синтаксис.
<% %>
это просто сокращение от <script runat="server"> </script>
aka code render blocks.
<%# %>
являются обязательными выражениями (плюс вышеуказанные).
<%= %>
является приведенным выше a Response.Write()
.
<%: %>
является ли приведенное выше a Response.Write()
завернутым в Html.Encode
(новое в .NET 4.0).
<%$ %>
является ASP.NET выражение, используемое для привязки данных конфигурации или файла ресурсов во время выполнения.
Комментарии:
1. Спасибо за ваш ответ, не могли бы вы привести какие-либо ссылки на эту информацию? Я много раз пытался найти это в документации, но безрезультатно. Кроме того, как насчет <%$ %> ?
2. @pseudocoder — Перейдите по ссылкам. Я не знаю о
<%$ %>
.3. Я немного покопался в ваших начальных ссылках и выяснил, что
<%$ %>
это называется ASP.NET Выражение и позволяет извлекать значения из файлов конфигурации или ресурсов.4. Другая конструкция
<%-- .. --%>
предназначена для блоков комментариев (которые не появятся в результирующем HTML).5. Я понимаю, что это почти 5 лет спустя, но, возможно, стоит добавить в ваш список
<%#: %>
обозначения… которая является HTML-кодированной версией выражения привязки, которое было добавлено как часть ASP.NET 4.5
Ответ №2:
Запомните это. Это более плохо документировано ASP.net синтаксис, помогающий устранить несоответствия и последствия стонов ASP ‘classic’. Также не забывайте
<%=variablename %>