Модель кодирования

Вы уже научились проектировать простые Web-страницы и ознакомились с интерфейсом Visual Studio. Но перед тем как приступить к серьезной работе, следует изучить некоторые базовые сведения о модели кодирования ASP.NET. В этом разделе вы узнаете о возможностях использования кода при программировании Web-страниц, а также о том, как ASP.NET образует цепочку событий в коде.

Visual Studio поддерживает две модели кодирования Web-страниц и Web-служб:

Встроенный код. Эта модель используется в традиционном ASP. Весь код и HTML-дескрипторы хранятся в отдельном файле .aspx. Код встроен в один или несколько блоков сценария. Однако, несмотря на то, что код находится в блоке сценария, он не теряет поддержку IntelliSense или отладки, и его не нужно исполнять построчно (подобно классическому ASP-коду). Вы можете реагировать на события элементов управления и использовать подпрограммы. Эта модель полезна, поскольку хранит все в одном аккуратном пакете и широко используется для создания простых Web-страниц.

Скрытый код. Эта модель разделяет каждую Web-страницу ASP.NET на два файла — файл разметки .aspx с HTML и дескрипторами элементов управления, а также кодовый файл .cs исходным кодом страницы. Такая модель обеспечивает лучшую организацию, а отделение пользовательского интерфейса от программной логики крайне важно при создании сложных страниц. В Visual Studio 2005 реализация модели скрытого кода изменилась, но общая философия осталась той же.

В .NET 1.0 и 1.1 выбранный инструмент проектирования определяет используемую модель. В Visual Studio вы можете свободно использовать каждый подход. При добавлении к Web-сайту новой Web-страницы (с использованием команды Add New Item меню Website) с помощью флажка Place Code in a Separate File (Поместить код в отдельный файл) можно указать применение модели скрытого кода (рис. 2.20). Visual Studio использует эти настройки и при следующем добавлении новой страницы, однако вполне допустимо (хоть это и вызывает путаницу) смешивать оба стиля страниц в рамках одного приложения.

Чтобы понять разницу между упомянутыми выше моделями, рассмотрим простую страницу, отображающую текущее время. Ниже показано содержимое файла TestFormInline.aspx с описанием страницы и встроенным кодом:

<%@ Page Language="C#" %>
<script runat="server">
  protected void Button1_Click(object sender, EventArgs e)
  {
     Label1.Text = "Current time: " + DateTime.Now.ToLongTimeString();
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Test Page</title>
</head>

предыдущая    следующая страница   оглавление

84

Hosted by uCoz