Значение различных символов на странице .aspx — asp.net

#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 %>