Иллюстрированный самоучитель по Visual Basic .NET

Простое web-приложение для ASP.NET

В первой выделенной строке атрибуту runat присваивается значение server, указывающее на то, что код элемента должен выполняться на стороне сервера, а не на стороне клиента. В принципе код ASP.NET может работать и на стороне клиента, но это делается очень редко, поскольку многие возможности ASP.NET становятся недоступными (в сущности, при этом выполняется сценарий клиентской стороны, не имеющий ничего общего с ASP.NET).

Обратите внимание: все теги элементов страницы снабжаются префиксом <asp:. Дело в том, что элементы ASP.NET не являются элементами HTML. Они находятся на сервере, и обычные элементы HTML используются только в страницах, передаваемых клиенту (там, где это возможно). Так, в HTML не существует аналогов для таких элементов ASP.NET, как календарь или элемент интервальной проверки. В этом случае в ASP.NET для достижения желаемого эффекта используется комбинация обычных элементов HTML, сценарного кода и кода, работающего на стороне сервера.

Если дважды щелкнуть на кнопке, в окне программы открывается процедура события Click. Открывшаяся страница имеет много общего с приложениями, созданными на базе форм Windows; она тоже содержит автоматически сгенерированный код, который будет описан ниже. В приложениях ASP.NET код обычно отделяется от средств визуального представления и хранится в отдельном файле с двойным расширением .aspx.vb.

Включите в процедуру события Click следующий фрагмент:

Private Sub Buttonl_Click(ByVal sender As System.Object,_
ByVal e As System.EventArgs)
Handles Buttonl.Click
Me.Label 1.Font.Size = FontUnit.XLarge
Me.Label 1.Text = "Welcome to ASP.NET @" & Now
End Sub

Обратите внимание на сходство этого кода с обработчиками событий в приложениях форм Windows, включая наличие параметров sender и EventArgs. Свойство Font в web-элементах несколько отличается от одноименного свойства форм Windows, и это вполне естественно, поскольку количество шрифтов, отображаемых в страницах HTML, заметно ограничено по сравнению с формами Windows. Также обратите внимание на возможность использования встроенных функций .NET (таких, как Now) в коде ASP.NET. Приложения ASP.NET обладают полноценным доступом к .NET Framework. В частности, это означает, что для обращения к данным в ASP.NET могут использоваться все элементы и вся программная поддержка баз данных .NET (см. главу 11).

При нажатии клавиши F5 VS.NET IDE генерирует web-страницу и автоматически отображает ее в Internet Explorer. После нажатия кнопки окно приобретает вид, показанный на Рис. 12.2.

Иллюстрированный самоучитель по Visual Basic .NET › Краткий обзор ASP.NET › Простое web-приложение для ASP.NET
Рис. 12.2. Результат выполнения простейшего кода ASP.NET

Примечание
Приложения ASP.NET, как и другие классы приложений .NET, компилируются в библиотеки DLL.IDE генерирует для DLL файл описания сборки, хранящийся на сервере. В приложение ASP.NET также входит страница.aspx и другие сопутствующие файлы
.

Ниже приведен полный код страницы с разверткой регионов:

Public Class WebForml
Inherits System.Web.UI.Page
Protected WithEvents Labell As System.Web.UI.WebControls.Label
Protected WithEvents Buttonl As System.Web.UI.WebControls.Button
#Region "Web Form Designer Generated Code "
'This call is required by the Web Form Designer. <System.Diagnostics.DebuggerStepThrough()>
Private Sub _
InitializeComponent()
End Sub
Private Sub
Page_Init(ByVal sender As System.Object.
ByVal e As System.EventArgs)
Handles MyBase.Init
'CODEGEN: следующий вызов необходим для дизайнера форм Web.
' Не изменяйте его в редакторе!
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object._
ByVal e As System.EventArgs) Handles MyBase.Load
' Здесь размещается пользовательский код инициализации страницы
End Sub
Private Sub Bultonl_Click(ByVal sender As System.Object._
ByVal e As System.EventArgs) Handles Buttonl.Click Me.Label1.Font.Size_
FontUnit.XLarge Me.Label1.Text = "Welcome to ASP.NET @" & Now
End Sub
End Class

В ASP.NET используется файл globalasax – аналог файла global.asa из ASP. Главное различие между этими файлами заключается в том, что обращения к файлу global.asax происходят:

  • в начале каждого запроса;
  • при возникновении ошибки;
  • при попытке аутентификации пользователя (процесс аутентификации рассматривается ниже).

Примечание
Если вы захотите добавить в global.asax код инициализации приложения, включите его в функцию InitializeComponent(), поскольку именно эта функция вызывается при загрузке приложения
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.