VBNet.Su - Visual Basic .NET. ASP .NET. Framework .NET.
Новости
26.12.2008 Лимитный инвайт для тех, кто хочет присоединиться к VBNet.Su, но не может :)
vbnet-super
С наступающим!
join

18.12.2008 Увеличен размер поля для подписи. Разрешено использовать некоторые теги HTML.
Изменены правила форума, в подписи разрешено использовать партнерские ссылки. Ссылки в подписи могут использовать только те пользователи, которые разместили обратную ссылку на VBNet.Su на одном из сайтов, указанных в профиле. Проверка обратных ссылок производится в автоматическом режиме. Если у Вас возникнут какие-либо вопросы, обращайтесь к администратору.

15.12.2008 Открылась рассылка VBNet.Su!
Рассылка будет выходить автоматически, несколько раз в неделю. В рассылке будут содержаться последние обновления сайта (аналог RSS). Чтобы подписаться на рассылку VBNet.Su, перейдите по этой ссылке.
Архив новостей
Будь в теме
Ноутбуки на VBNet.Su
VBNet.Su рекомендуетSamsung R560-ASS6
Высокопроизводительные ноутбуки Samsung R560 с процессорной технологией Intel Centrino 2 объединяют в себе самые последние цифровые технологии и представляют собой законченные мультимедийные решения! Мощная графическая подсистема на базе ... подробнее..
Цена: 32290 руб. КУПИТЬ
Партнеры
Kbyte.Ru OZON.ru
Счетчики
Рассылка 'Visual Basic .NET - новости, коды, статьи, форум'
Статьи / Web Forms (ASP .NET) /

HTML минус ASP .NET: Как отделить ASP-код от HTML

Автор: Алексей Немиро | добавлено: 05 декабря 2008 / 19:18 | просмотров: 2959 (+2585)

Как вы знаете, основной код обрабатываемый сервером на страницах ASP .NET может находиться только в блоках <SCRIPT>. Если вы работали с классическим ASP, то наверное помните, что абсолютно любой asp-код можно было использовать в любой части страницы, будь то объявление переменных (хотя это вовсе и необязательно) или даже функций. В результате чего получался некий винегрет из ASP, HTML, а иногда и с элементами Java(VB)Script. Разобраться в таком коде, даже с бутылкой «огненной воды», было очень не просто. Именно поэтому ASP .NET требует размещения основного кода на страницах в блоках <SCRIPT>. Требует, но не обязывает, и предлагает разработчику другой вариант – размещать серверный код в отдельном файле. Да, да, это не опечатка, ASP .NET действительно позволяет практически полностью отделить HTML от asp-кода, причем разницы в работе asp-приложения никакой не будет. О том как это сделать, я сейчас и постараюсь рассказать.

 

Кодовые формы

 

Кодовые формы предоставляют разработчику возможность полностью, либо частично (пожеланию разработчика) отделить код ASP .NET от HTML. Кодовая форма – это отдельный файл *.vb, который наследован классу System.Web.UI.Page, который в свою очередь дает определение для всех страниц aspx и может быть наследован непосредственно страницей aspx. Т.е. кодовая форма является промежуточным классом между классом System.Web.UI.Page и страницей aspx.

 

Кодовые формы

 

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

 

Первым делом, первым делом...

 

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

Для начала, сделаем обычный файл aspx, содержащий одно текстовое поле с именем txtName и кнопку – btnSend.

 

 

Файл aspx

01:

02:

03:

04:

05:

06:

07:

08:

09:

10:

11:

12:

13:

14:

15:

16:

<%@ Page Language="vb" %>

<HTML>

  <HEAD>

    <title>Обычная страница ASP .NET</title>

  </HEAD>

  <body>

    <form id="frmForm" method="post" runat="server">

      <P>Введите Ваше имя:

        <asp:TextBox id="txtName" runat="server" />nbsp;

        <asp:Button id="btnSend"

        Text="Отправить"

        runat="server" />

      </P>

    </form>

  </body>

</HTML>

 

Теперь создадим новый файл класса (*.vb), который будет содержать обработчик события Click элемента btnSend, назовем его – myForm.vb. Добавим в него наш класс с именем myFormClass, который должен наследовать класс System.Web.UI.Page и создадим необходимый обработчик события Click элемента страницы aspx - btnSend.

 

 

Файл myForm.vb

01:

02:

03:

04:

05:

06:

07:

08:

09:

10:

Public Class myFormClass

  Inherits System.Web.UI.Page

  Protected WithEvents btnSend As System.Web.UI.WebControls.Button

  Protected WithEvents txtName As System.Web.UI.WebControls.TextBox

 

  Private Sub btnSend_Click(ByVal sender As System.Object,

              ByVal e As System.EventArgs) Handles btnSend.Click

    Response.Write("<P>Здравствуйте " & txtName.Text & "!</P>")

  End Sub

End Class

 

В 3-4 строках объявляются размещенные на странице aspx элементы. С 6-9 строку идет процедура обработки события Click элемента btnSend. На то, что эта процедура должна обрабатывать какое-либо событие в 7 строке указывает ключевое слово Handles.

 

Вот почти все готово, осталась самая малость, добавить ссылку на наш класс в страницу aspx. Для этого немного подкорректируем первую строку aspx-страницы:

 

01:

<%@ Page Language="vb" src="myForm.vb" Inherits="myFormClass" %>

 

Появившийся атрибут src указывает путь к файлу класса (файл может находиться где угодно(!), а атрибут Inherits – указывает класс которому наследуется страница.

 

Делаем вывод

 

Теперь страница ASP .NET и созданный нами промежуточный класс должны работать как один файл! При этом страница aspx содержит только элементы дизайна, а файл vb основной код обработки. Согласитесь, так гораздо удобней редактировать и код и дизайн страницы. Хотя, еще раз повторюсь, делить asp-код и HTML вовсе не обязательно, просто система APS .NET предоставляет такую возможность, ну а все остальное зависит от вкуса разработчика ;-)

 

Удачи! Будут вопросы, пишите, постараюсь ответить.

 

23 августа 2005 года
Copyright © Nemiro AS, 2005
http://vbnet.su

У нас есть
Мозолистые пальцы
Всего:1220
С ногами:2440
Красные глаза
Всего:244
Левых:122
Правых:122
Горячие мозги
Всего:122
Левых:3
Правых:27
Еще какие-то:92
Сегодня сказали
Сегодня еще никто ничего не говорил :-(
Архив сказанного ранее
Букварь всему голова
Книги на VBNet.SuVisual Basic .NET
Данная книга - подспорье для начинающих и для всех тех, кто занимается созданием визуальных сред, и собирается освоить язык программирования Visual Basic.NET. Каждый, кто наберется терпения следовать за автором в его практических упражнениях, по ... подробнее..
Автор: Клейтон Валнум
Цена: 52 руб. КУПИТЬ
Все книги на VBNet.Su
TOP 10 пользователей
Алексей Немиро65.2275660625+
Ігор47.181654625+
kibernetics16.0390645+
Kolyasik5.9658263125+
rublenko3.734375+
Arseny3.6845703125+
Skywalker2.904296875+
ostgals2.857421875+
5acredphoenix2.708994375+
andrey_z5z2.3857511875+
Все пользователи


Реклама: