• аскаво просимо а Програмне забезпечення та технології - Okvaz.
 

ASP.NET Серверні контролери: Основи та Приклади

Автор Okvaz, Квт. 26, 2023, 11:11 AM

« попередня теа - настпна тема »

Okvaz

Вступ
Asp[dot]Net є одним з найпопулярніших та найефективніших фреймворків для розробки веб-додатків на основі мов програмування C# або VB[dot]NET. Він має безліч інструментів та компонентів, які допомагають розробникам створювати потужні та безпечні веб-додатки. У цій статті ми дізнаємось про один з таких інструментів - контролери сервера.


Що таке контролери сервера?
Контролери сервера - це спеціальні елементи керування, які можна додавати до веб-форм Asp[dot]Net. Вони дозволяють розробникам створювати динамічний та інтерактивний інтерфейс користувача. Контролери сервера можуть містити будь-який HTML-код та його можна легко настроїти за допомогою властивостей.


Типи контролерів сервера
У Asp[dot]Net є безліч типів контролерів сервера, найпоширеніші з них - це:

Button (Кнопка)
Button - це контролер сервера, який створює кнопку на веб-формі. Кнопка може виконувати певну дію при кліку на неї.

Label (Етикетка)
Label - це контролер сервера, який створює текстову мітку на веб-формі. Вона може містити будь-який текст та форматування.

TextBox (Текстове поле)
TextBox - це контролер сервера, який створює текстове поле на веб-формі. Користувач може вводити текст у це поле.

DropDownList (Випадаючий список)
DropDownList - це контролер сервера, який створює випадаючий список на веб-формі. Він містить список елементів, з яких користувач може вибрати один.


Як працювати з контролерами сервера?
Щоб додати контролер сервера до веб-форми, потрібно виконати такі кроки:

  • Відкрийте веб-форму у Visual Studio.
  • Виберіть потрібний контролер сервера з панелі інструментів (Toolbox).
  • Перетягніть контролер на веб-форму.
  • Налаштуйте параметри контролера за допомогою властивостей.

Наприклад, щоб додати кнопку на веб-форму, потрібно виконати такі кроки:
  • Відкрийте веб-форму у Visual Studio.
  • Виберіть контролер Button з панелі інструментів.
  • Перетягніть кнопку на веб-форму.
  • Налаштуйте текст та інші властивості кнопки за допомогою властивостей властивостей.
Код Select
<asp:Button ID="btnSubmit" runat="server" Text="Надіслати" OnClick="btnSubmit_Click" />

У цьому прикладі ми додали на сторінку контролер Button за допомогою тегу asp:Button. Кнопка має ID, який може бути використаний для доступу до неї з коду C#, а також текст "Надіслати", який буде відображений на кнопці. Також ми призначили обробник події OnClick, який буде викликаний при кліку на кнопку.


Код Select
protected void btnSubmit_Click(object sender, EventArgs e)
{
    // Код, який виконується при кліку на кнопку
}

У методі btnSubmit_Click ми можемо додати код, який виконуватиметься при натисканні кнопки. Наприклад, ми можемо зберегти дані з форми у базу даних або відправити їх на електронну пошту.


Створення власних контролерів сервера
Розробники можуть створювати власні контролери сервера, які дозволяють досягти більшої гнучкості та розширеної функціональності. Процес створення власного контролера складається з кількох етапів:


  • Створення класу контролера та налаштування його властивостей та методів.
  • Написання коду для рендеринга контролера у HTML-код.
  • Реєстрація контролера на сторінці за допомогою директиви @Register.
Код Select
namespace CustomControls
{
    [ToolboxData("<{0}:CustomButton runat=server></{0}:CustomButton>")]
    public class CustomButton : WebControl
    {
        private string _text;

        public string Text
        {
            get { return _text; }
            set { _text = value; }
        }

        protected override void RenderContents(HtmlTextWriter writer)
        {
            writer.Write($"<button>{_text}</button>");
        }
    }
}

У цьому прикладі ми створили власний контролер - CustomButton, який може мати власний текст на ній. У методі RenderContents ми використали HtmlTextWriter для генерації HTML-коду для кнопки. Для реєстрації контролера на сторінці потрібно використати директиву @Register.

Код Select
<%@ Register Assembly="CustomControls" Namespace="CustomControls" TagPrefix="cc" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <cc:CustomButton ID="btnCustom" runat="server" Text="Власний текст на кнопці" />
        </div>
    </form>
</body>
</html>

У цьому прикладі ми додали на сторінку власний контролер - CustomButton, який має власний текст на ній.

Висновок
Asp[dot]Net Sunucu контролери є потужним інструментом для розробників, який дозволяє створлювати потужні та динамічні веб-додатки. У цій статті ми розглянули основні типи контролерів сервера та процес їх додавання до веб-форми. Також ми розглянули процес створення власних контролерів сервера та їх реєстрації на сторінках.


Часті запитання
1. Які ще інструменти є у фреймворку Asp[dot]Net?
У фреймворку Asp[dot]Net є безліч інструментів, таких як Master Pages, User Controls, Data Controls, Ajax Control Toolkit та інші.

2. Як можна настроїти властивості контролера сервера?
Властивості контролера сервера можна настроїти з наступною синтаксисом:

Код Select
<asp:Button ID="btnSubmit" runat="server" Text="Надіслати" BackColor="#0000FF" />

У цьому прикладі ми налаштували властивість BackColor кнопки на синій колір.

3. Чи можна додати кілька обробників подій для одного контролера сервера?
Так, можна додати кілька обробників подій для одного контролера сервера за допомогою оператора "+=":


Код Select
protected void Page_Load(object sender, EventArgs e)
{
    btnSubmit.Click += new EventHandler(btnSubmit_Click);
    btnSubmit.Click += new EventHandler(btnSubmit_Click2);
}

protected void btnSubmit_Click(object sender, EventArgs e)
{
    // Код, який виконується при кліку на кнопку
}

protected void btnSubmit_Click2(object sender, EventArgs e)
{
    // Код, який виконується при кліку на кнопку
}

4. Як можна створити власний контролер сервера?
Для створення власного контролера сервера потрібно створити новий клас, який буде успадковувати клас WebControl. Потім потрібно реалізувати метод RenderContents для генерації HTML-коду та налаштувати властивості контролера. Останнім кроком є реєстрація контролера на сторінці за допомогою директиви @Register.


5. Яка перевага використання контролерів сервера у фреймворку Asp[dot]Net?
Використання контролерів сервера у фреймворку Asp[dot]Net дозволяє розробникам швидко створювати потужні та інтерактивні веб-додатки. Контролери сервера забезпечують безліч готових функцій та можуть бути легко настроєні за допомогою властивостей. Крім того, розробники можуть створювати власні контролери сервера, що дозволяє досягти більшої гнучкості та розширеної функціональності.