Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Технология разделения кода






Основа всего в Web-приложении – это страница (Page). Пользователь, используя браузер, перемещается между страницами, возвращаясь иногда к уже просмотренным страницам, вводит какие-то данные в HTML формы и получает некоторый результат. В ASP.NET страница чаще всего представляет собой Web-форму, содержащую различные элементы управления, реагирующую на события, создаваемые пользователем.

ASP.NET 1.x позволяет разделять код логики от кода представления, то есть помещать код программной логики страницы в .cs или .vb файл, отдельно от кода собственно страницы, размещаемого в .aspx файле. Эта технология называется Code-Behind. Таким образом, дизайн страницы может быть изменен, не затрагивая код страницы, что позволяет разделить ответственность за внешний вид и работу страницы между дизайнером и программистом. Для этого в .aspx файле можно задать параметры директивы Page.

 

< %@ Page Language=" c#" Src=" User.aspx.cs" %>

 

Для поддержки редактирования с помощью VS.NET в ASP.NET странице необходимо указать класс, соответствующей данной странице, и файл, в котором находится код этого класса. Для этого директива Page преобразуется с использованием ключевых слов Codebenind и Inherits.

 

< %@ Page Language=" c#" Codebehind=" TheProject.User" Inherits=" User.aspx.cs" %>

 

В ASP.NET 2.0 странице используется иной механизм разделения кода. В директиве Page при этом необходимо использовать другие ключевые слова: CodeFile и Inherits.

 

< %@ Page Language=" c#" CodeFile=" TheProject.User" Inherits=" User.aspx.cs" %>

 

В этом случае код класса программной логики страницы будет размещен в файле указанном в атрибуте CodeFile. Надо отметить, что VS использует разделяемые классы (partial classes).

 

public partial class Default: System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e){}

}

 

Поэтому разработчик может поместить код класса в нескольких файлах, но подобное рассредоточение кода делает приложение весьма громоздким и трудным в поддержке и разработке.

Используемая в VS 2003 модель Code-Behind обладает несколькими весьма существенными недостатками. Прежде всего, используя VS разработчику необходимо компилировать проект перед публикацией, поскольку ASP.NET компилирует страницы, только если указан атрибут Src, не используемый VS. При этом, поскольку среда ASP.NET обнаруживает изменение даты создания сборки, после каждой замены старой сборки в каталоге bin происходит перезапуск домена приложения, что выливается во временную " заторможенность" в работе приложения.

VS использует новые ключевые слова, поддерживаемые средой выполнения ASP.NET 2.0, а среда выполнения, в свою очередь, использует новую технику компиляции страниц. Это позволяет решить проблему замены сборки на более новую.

Несмотря на это, VS по-прежнему позволяет отказаться от разделения кода и поместить код программной логики в самом файле страницы, и использовать теги < script runat=" server" > < /script>. Более того, по умолчанию VS создает именно страницы без разделения кода.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.