Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье содержатся общие сведения о следующих ASP.NET встроенных выражениях:
- <% ... %>
- <%= ... %>
- <%@ ... %>
- <%# ... %>
- <%$ ... %>
- <%-- ... --%>
Исходная версия продукта: платформа .NET Framework
Исходный номер базы знаний: 976112
<% ... %> внедренных блоков кода
Внедренный блок кода используется для сохранения обратной совместимости с классическим ASP. Код в блоке может выполнять инструкции программирования и вызывать функции в текущем классе страниц во время этапа отрисовки страниц.
В следующем примере показана страница ASP.NET с примером кода Microsoft Visual Basic .NET в внедренном блоке кода для отображения результатов цикла:
<%@ Page Language="VB" %>
<html>
<body>
<form id="form1" runat="server">
<% For i As Integer = 16 To 24 Step 2%>
<div style="font-size: <% Response.Write(i)%>">
Hello World<br />
</div>
<% Next%>
</form>
</body>
</html>
Так как внедренный блок кода всегда смешан с источником языка разметки HyperText (HTML), разработчикам трудно читать и поддерживать их.
Дополнительные сведения о внедренных блоках кода на веб-страницах ASP.NET см. в разделе "Встроенные блоки кода" на страницах ASP.NET веб-формы.
<%= ... %> отображения выражения
Отображаемое <%= ... %>
выражение является эквивалентом внедренного блока кода, содержащего только инструкцию Response.Write(...)
. Это самый простой способ отображения таких сведений, как одна строка, переменная int или константа.
Например, следующий пример кода отображает текущее время:
<%@ Page Language="VB" %>
<html>
<body>
<form id="form1" runat="server">
<%=DateTime.Now.ToString() %>
</form>
</body>
</html>
Помните, что отображаемое выражение нельзя использовать в атрибутах элементов управления сервера. Это связано с тем, что платформа .NET Framework напрямую компилирует все выражение вместо отображаемого содержимого в качестве значения атрибута.
Дополнительные сведения о отображении сведений из ASP.NET см . в ASP.NET.
<Выражение директивы %@ ... %>
Выражение директивы — это синтаксис, указывающий параметры, используемые страницой и компиляторами пользовательского элемента управления при обработке страниц ASP.NET веб-формы (.aspx) и файлов пользовательского элемента управления (ASCX).
Платформа страниц ASP.NET поддерживает следующие директивы:
Директива | Description |
---|---|
@ Page |
Определяет атрибуты для конкретной страницы, используемые средство синтаксического анализа страниц ASP.NET и компилятором. Можно включить только в файлы .aspx. Это имя директивы можно использовать только на страницах веб-формы ASP.NET. |
@ Control |
Определяет атрибуты, относящиеся к элементу управления, которые используются средство синтаксического анализа страниц ASP.NET и компилятора. Можно включить только в ascx-файлы (пользовательские элементы управления). Имя директивы можно использовать только в файлах пользовательского элемента управления. |
@ Import |
Явно импортирует пространство имен на страницу или в элемент управления пользователем. |
@ Implements |
Декларативно указывает, что страница или элемент управления пользователем реализует указанный платформа .NET Framework интерфейс. |
@ Register |
Связывает псевдонимы с пространствами имен и именами классов. Это позволяет отображать пользовательские элементы управления и пользовательские серверные элементы управления, если они включены в запрошенную страницу или элемент управления пользователем. |
@ Assembly |
Связывает сборку с текущей страницей во время компиляции. Он делает все классы и интерфейсы сборки доступными для использования на странице. |
@ Master |
Определяет главную страницу ASP.NET. |
@ WebHandler |
Определяет страницу ASP.NET IHttpHandler. |
@ PreviousPageType |
Предоставляет способ получения строгого ввода для предыдущей страницы, доступ к ней через свойство PreviousPage. |
@ MasterType |
Назначает имя класса свойству Master страницы ASP.NET. Предоставляет способ создания строго типизированной ссылки на главную страницу ASP.NET. |
@ OutputCache |
Декларативно управляет политиками кэширования выходных данных страницы или пользовательского элемента управления. |
@ Reference |
Декларативно связывает страницу или элемент управления пользователем с текущей страницей или пользовательским элементом управления. |
Дополнительные сведения о синтаксисе директив см . в синтаксисе директивы "Текстовый шаблон".
<%# ... %> выражение привязки данных
Выражение привязки данных создает привязку между свойством серверного элемента управления и источником данных, когда метод DataBind элемента управления dataBind этого сервера вызывается на странице.
В следующем примере показано, как использовать выражение привязки данных для привязки строки из функции к свойству Text метки:
<%@ Page Language="VB" %>
<script runat="server">
Protected Function SayHello() As String
Return "Hello World"
End Function
Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs)
lblHello.DataBind()
End Sub
</script>
<html>
<body>
<form id="form1" runat="server">
<asp:Label ID="lblHello" runat="server" Text="<%# SayHello%>"></asp:Label>
</form>
</body>
</html>
Дополнительные сведения о синтаксисе выражения привязки данных см . в синтаксисе выражения привязки данных.
<%$ ... %> построителя выражений
Построитель выражений используется для задания значений свойств элемента управления на основе сведений, содержащихся в конфигурации приложения или файлах ресурсов. В следующем примере показан базовый синтаксис построителя выражений:
<%$ Expression Prefix: Expression Value %>
Знак доллара ($) указывает на ASP.NET, что следующее выражение является построителем выражений. Префикс выражения определяет тип выражения, например AppSettings
, ConnectionStrings
или Resources
. Кроме того, можно создать и определить собственный построитель выражений. Значение выражения, которое следует двоеточию (:) является тем, что ASP.NET фактически будет использоваться в качестве значения определенного свойства.
В следующей демонстрации показано, как использовать построитель выражений для получения авторских прав веб-сайта из AppSettings
узла в файле web.config и как задать сведения об авторских правах в качестве значения свойства Text Литерала.
Узел AppSettings
в файле конфигурации Web.config :
<appSettings>
<add key="copyright" value="(c) Copyright 2009 WebSiteName.com"/>
</appSettings>
Построитель выражений на странице веб-формы ASP.NET:
<div id="footer">
<asp:Literal ID="Literal1" runat="server" Text="<%$ AppSettings: copyright %>"></asp:Literal>
</div>
Дополнительные сведения о выражениях ASP.NET см. в ASP.NET обзоре выражений.
<Блок комментариев на стороне сервера %-- ... -- %>
Блок комментариев на стороне сервера позволяет разработчикам внедрять комментарии кода в любое расположение HTML-источника ASP.NET страниц веб-формы (за исключением <script>
блоков кода). Любое содержимое между открывающим и закрывающим тегами блока комментариев на стороне сервера не будет обработано на сервере или отрисовывается на результирующей странице.
В следующем примере кода показано, как использовать блок комментариев на стороне сервера на странице ASP.NET:
<%@ Page Language="VB" %>
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim strName As String
strName = Session("userName")
lblUserName.Text = strName
End Sub
</script>
<html>
<body>
<form id="form1" runat="server">
<%-- Label for UserName --%>
<asp:Label ID="lblUserName" runat="server" Text=""></asp:Label>
</form>
</body>
</html>
Дополнительные сведения о комментариях на стороне сервера см. в комментариях на стороне сервера.