><%@ Import Namespace = "System.Data" %>
><%@ Import Namespace = "System.Data.SqlClient" %>
><%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebGrid.aspx.vb" Inherits="Novelty.WebGrid"%>
>
>
>
>
><%@
> Dim connString As String
> connString = "server=(local);database=Novelty;TRUSTED_CONNECTION=Yes"
> Dim conn As New SqlConnection(connString)
> Dim As New SqlCommand("SELECT * FROM tblCustomer", conn)
> conn.Open()
> Dim dReader As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
> dataGrid1.DataSource = dReader
> dataGrid1.DataBind
> dReader.Close()
> conn.Close()
>%>
>
>
>
>
>
>
>
>
>
>
>
>
После выполнения этого кода по отношению к базе данных Novelty полученные результаты будут иметь такой вид, как на рис. 11.12.
РИС. 11.12. Внешний вид Web-формы WebGrid.aspx
Серверный элемент управления предлагает способ отображения данных без создания вручную какого-либо кода, связанного с механизмом отображения данных. Учтите, что серверные элементы управления в большинстве своем созданы на основе фрагментов Web-страниц, или пэйджлетов (рagelet). Они не являются полноценными ASPX-страницами, имеют расширение .as и представляют только некоторые разделы Web-страницы, например повторно используемую форму или код, который применяется для отображения сообщения об ошибке и является частью более общей Web-страницы с информацией о происходящих ошибках. Такие серверные элементы управления позволяют выполнять практически любые функции с помощью Web-ориентированного пользовательского интерфейса.
В cреде с динамическим содержимым некоторые переменные, например строка подключения к базе данных, часто остаются статическими. В листинге 11.1 для строки подключения в куче ищется (interned) экземпляр строки connString. Если он найден, то проверяется его содержимое. Если значение экземпляра в куче совпадает со значением строки connString, то оно используется приложением. В противном случае создается новый экземпляр и ему присваивается значение строки connString. Данный подход позволяет экономить ресурсы, потому что среда CLR гораздо быстрее выполняет проверку кучи, чем создание нового экземпляра объекта-строки. Такое повторное использование строк позволяет повысить производительность приложения.