Реклама
реклама в интернете, поисковая оптимизация сайтов - https://seo-matik.ru/
VIKO - типография - https://viko.info/


TBN.ru - https://www.tbn.ru/

TBN.ru - https://www.tbn.ru/
Друзья

Adobe  Photoshop  Corel  Draw  3d
Flash Графика
Newprog.com - https://newprog.com/
WMaster.ru - https://www.wmaster.ru/
Web-support.ru - https://web-support.ru/
Animac.ru - https://animac.ru/
WebZ - https://webz.ru/
Иконки - https://ico.brush.ru/
Stormarts.ru - https://www.stormarts.ru/
Vebius.com.ru - https://www.vebius.com.ru/
Футбол - https://extrascore.com/ , новости - https://extrascore.com/ , UEFA - https://extrascore.com/ , Лига Чемпионов - https://extrascore.com/
WebInfo.com.ru - https://webinfo.com.ru/
DWorld.com.ru - https://dworld.com.ru/

Adobe Photoshop   Corel Draw   3d Flash Графика

TBN.ru - сети, живущие по правилам - https://www.tbn.ru/

ASP.NET

Обработка событий

Рейтинг статьи: 22222
Проголосовал 1 человек.
Оцените статью:

Обработка событий

Мы живем в эпоху инетерактивных Веб-приложений. Это значит, что мы не только доставляем информацию пользователю, но и позволяем ему контролировать процесс. В настольных приложениях все решается просто, ибо весь код приложения непосредственно доступен. В интернет-приложениях все сложнее - мы не можем непосредственно вызывать код на сервере с клиента. Код на сервере может быть запущен только в ответ на некоторый запрос с клиента.

Рассмотрим сначала как осуществляется обработка пользовательского ввода в настольных приложениях. При нажатии на кнопку, смену активного пункта меню генерируется сообщение о совершении этого действия. Механизм сообщений является очень удобным, в частности, из-за его асинхронности.

При разработке ASP.NET Microsft перенесла идеологию сообщений на Web-приложения. Передача сообщений осуществляется через специальные аттрибуты в запросе. На сервере они декодируются и на основании информации о сообщении вызываются соответствующие обработчики.

При всем этом надо заметить, что со стороны разработчика весь этот механизм крайне прост - во-первых, потому что процесс передачи сообщения скрыт и мы просто говорим "мы хотим обработать это сообщение", а во-вторых благодаря наличию механизма обработки сообщений в .NET Framework, что позволяет обрабатывать эти сообщения как и все другие, к тому же в .NET-языках обработка сообщений интегрирована на уровне синтаксиса.

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

Для пояснения о том, как обрабатывать сообщения, рассмотрим пример обработки сообщения Click для кнопки.

Рассмотрим страницу со следующим кодом:

<%@ Page Src="separate.cs" Inherits="Separate" %>
<form runat="server">
    <asp:Label id="lblMessage" runat="server" />
    <asp:Button id="btnSubmit" runat="server" onclick="btnSubmit_Click" text="submit" />
</form>
    

К ней прилагается файл с кодом:

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public class Separate : Page
{
    protected Label lblMessage;
    protected Button btnSubmit;

    public void btnSubmit_Click( object sender, EventArgs e )
    {
        lblMessage.Text = "Hello, world";
    }
}
    

Мы ее уже рассматривали в предыдущей части, но сейчас мы на нее посмотрим с точки зрения обработки сообщений - а именно - обработка нажатия на кнопку submit. В этой странице продемонстрирован первый способ привязки обработчиков к сообщениям - указание имени обработчика в соответствующем аттрибуте серверного элемента управления. В данном случае - onclick.

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

<%@ Page Src="separate.cs" Inherits="Separate" %>
<form runat="server">
    <asp:Label id="lblMessage" runat="server" />
    <asp:Button id="btnSubmit" runat="server" text="submit" />
</form>
    

Вот код:

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public class Separate : Page
{
    protected Label lblMessage;
    protected Button btnSubmit;

    override protected void OnInit( EventArgs e )
    {
        btnSubmit.Click += new EventHandler(btnSubmit_Click);
    }

    public void btnSubmit_Click( object sender, EventArgs e )
    {
        lblMessage.Text = "Hello, world2";
    }
}
    

Как видно, мы теперь не прописываем аттрибут. а при инициализации страницы добавляем делегата для обработки сообщения.

Copyright by © 2000-2004 dotSITE - https://www.dotsite.ru/
Автор:
Автор:

Разместил: Vulko
Опубликовано: 03.07.2004
Статья "ASP.NET - Обработка событий" прочтена 920 раз.

Оставьте ваше мнение о статье

Имя:
E-mail:
Сайт:
Комментарий:

Последние новости
Последние темы на форуме
Кассовые аппараты и чековая лента. - https://detalk.ru/index.php?showtopic=2606
Что лучше? СМС Богу или деду морозу? :) - https://detalk.ru/index.php?showtopic=2634
нужен совет - https://detalk.ru/index.php?showtopic=2648
песики - https://detalk.ru/index.php?showtopic=2650
Полиграфия для DVD (лицензия) - https://detalk.ru/index.php?showtopic=2651

TBN.ru - сети, живущие по правилам - https://www.tbn.ru/
Adobe Photoshop Corel Draw 3d Flash Графика
Реклама

TBN.ru - https://www.tbn.ru/

TBN.ru - https://www.tbn.ru/
Яндекс.Метрика