Простое приложение ASP .NET в IDE

В первой выделенной строке атрибуту runat присваивается значение server, указывающее на то, что код элемента должен выполняться на стороне сервера, а не на стороне клиента. В принципе код ASP .NET может работать и на стороне клиента, но это делается очень редко, поскольку многие возможности ASP .NET становятся недоступными (в сущности, при этом выполняется сценарий клиентской стороны, не имеющий ничего общего с ASP .NET).
Обратите внимание: все теги элементов страницы снабжаются префиксом <asp:. Дело в том, что элементы ASP .NET не являются элементами HTML. Они находятся на сервере, и обычные элементы HTML используются только в страницах, передаваемых клиенту (там, где это возможно). Так, в HTML не существует аналогов для таких элементов ASP .NET, как календарь или элемент интервальной проверки. В этом случае в ASP .NET для достижения желаемого эффекта используется комбинация обычных элементов HTML, сценарного кода и кода, работающего на стороне сервера.
Если дважды щелкнуть на кнопке, в окне программы открывается процедура события Cl i ck. Открывшаяся страница имеет много общего с приложениями, созданными на базе форм Windows; она тоже содержит автоматически сгенерированный код, который будет описан ниже. В приложениях ASP .NET код обычно отделяется от средств визуального представления и хранится в отдельном файле с двойным расширением .aspx.vb.
Включите в процедуру события Cl ick следующий фрагмент:
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 (см. главу И).
При нажатии клавиши F5 VS .NET IDE генерирует web-страницу и автоматически отображает ее в Internet Explorer. После нажатия кнопки окно приобретает вид, показанный на Рисунок 12.2.
Приложения 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