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, перейдите по этой ссылке.
Архив новостей
Будь в теме
Внешние HDD на VBNet.Su
VBNet.Su рекомендуетWD 250 Gb, внешний жесткий диск, Vibrant Pink USB (WDMEPN2500TE)
Внешний жесткий диск Western Digital My Passport Essential.
Этим привлекательным накопителем не грех похвалиться перед знакомыми: он имеет роскошный корпус из приятного на ощупь материала, который удобно держать в руке. Добавьте к этому ... подробнее..
Цена: 2890 руб. КУПИТЬ
Партнеры
Kbyte.Ru OZON.ru
Счетчики
Рассылка 'Visual Basic .NET - новости, коды, статьи, форум'
Статьи / Web Forms (ASP .NET) /

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

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

Как вы знаете, основной код обрабатываемый сервером на страницах 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

У нас есть
Мозолистые пальцы
Всего:1260
С ногами:2520
Красные глаза
Всего:252
Левых:126
Правых:126
Горячие мозги
Всего:126
Левых:3
Правых:27
Еще какие-то:96
Сегодня сказали
Сегодня еще никто ничего не говорил :-(
Архив сказанного ранее
Букварь всему голова
Книги на VBNet.SuVisual Basic .NET. Создание графических объектов и основы программирования
Эта книга адресована читателю, делающему первые шаги в изучении самого популярного языка программирования Visual Basic .NET. Ознакомившись с материалами, изложенными в ней, вы узнаете о графических возможностях Visual Basic .NET и способах создания ... подробнее..
Автор: М. А. Трусов
Цена: 96 руб. КУПИТЬ
Все книги на 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+
Все пользователи


Реклама: