Маршрутизація сторінок в ASP.NET MVC

Asp.Net — чудовий вебфреймворк для багатьох проєктів. Але для створення повноцінного вебсайту вам потрібно буде мати більше, ніж лише головну сторінку. Ця стаття допоможе вам швидко створити нові вебсторінки та налаштувати маршрутизацію за допомогою шаблону проєктування MVC (Model-View-Controller).

pic

Вимоги:

  • Visual Studio 2022 — з установленим модулем "ASP.NET and web development".

pic

Зображення модулів Visual Studio із вибраним необхідним модулем

  • Створіть новий проєкт ASP.NET MVC.

pic

Зображення створення проєкту із правильним вибором

  • Назвіть проєкт і рішення, а також визначте місце збереження.
  • Ви можете залишити значення за замовчуванням на наступному екрані.

pic

Показаний останній екран із налаштуваннями за замовчуванням

  • Ви зрозумієте, що все налаштовано, якщо натиснете кнопку Запуск/Відтворення (Run/Play) і побачите базовий вебсайт.

pic

Базовий вебсайт, який з'являється з новим проєктом

MVC за 30 секунд

Щоб зрозуміти маршрутизацію сторінок, потрібно зрозуміти шаблон проєктування MVC (Model-View-Controller). Ось високорівневий опис, як цей шаблон розділяє вебсайт на три великі частини:

  • Model: Дані — це представлення класів даних.
  • View: Те, що бачить користувач — це представлення всіх візуальних елементів вебсайту. Усі вебсторінки будуть називатися "Вигляди" (Views).
  • Controller: Те, з чим взаємодіє користувач — це міст між Model та View. Контролери — це класи C#, які обробляють запити користувачів.

Для того, що ми будемо робити, цього базового розуміння шаблону MVC достатньо. Для детальнішого ознайомлення можна звернутися до детального пояснення від Microsoft.

Ще важливо знати, що за замовчуванням ASP.NET використовує стиль маршрутизації [Domain]/[Controller]/[Action]. У цьому контексті Action має відповідати імені вашого View, але ми побачимо це на практиці.

У нашому новому проєкті ми можемо побачити папки Model, View та Controller, у яких зберігатимуться відповідні файли.

pic

Показана структура папок у новому проєкті

Кроки

Отже, тепер, коли всі передумови виконані, можемо розпочати.

Створення нової вебсторінки

Ми створюємо нову вебсторінку, створюючи новий файл View.

Крок 1: У папці Views створіть нову папку під назвою "Test". Для цього клацніть правою кнопкою миші на папці Views, виберіть Add, а потім New Folder.

pic

Створення нової папки

Крок 2: Створіть новий файл View із назвою "Index.cshtml". Зробіть це подібним чином, клацнувши правою кнопкою на щойно створеній папці, виберіть Add, потім View, оберіть Razor View — Empty, а тоді назвіть файл "Index.cshtml".

pic

Назва нового файлу View

Крок 3: Додайте елемент HTML на сторінку View, щоб переконатися, що ви на правильній сторінці.

pic

Створення Контролера

Щоб показати цей View, нам потрібен контролер.
Ми могли б використати HomeController, але давайте створимо власний.

Крок 1: Клацніть правою кнопкою миші на папці “Controllers”, оберіть Add, потім Controller, далі оберіть Add для MVC Controller — Empty, і назвіть файл “TestController.cs”.

Дуже важливо, щоб усі файли контролерів закінчувалися на “Controller”, щоб Visual Studio могла правильно зареєструвати їх.

pic

Створений файл контролера

Оскільки наш файл View названий “Index”, створена функція буде обробляти повернення цього файлу, коли він буде запитаний.

Створення посилання на View

Тепер, коли ми створили View і Controller, ми можемо створити кнопку, яка напряму веде до нової вебсторінки.

Крок 1: Перейдіть до файлу Index контролера Home, відкривши Views>Home>Index.cshtml. Цей файл є головною сторінкою, і ми можемо додати кнопку до цієї сторінки.

Крок 2: Додайте тег anchor і стилізуйте його як кнопку, використовуючи Bootstrap.
Перейти на тестову сторінку

Крок 3: Усередині тегу anchor потрібно вказати контролер і дія (View), яку ми хочемо показати для нової вебсторінки.
asp-controller=”Test” asp-action=”Index”

Остаточний файл Home/Index виглядатиме приблизно так:

pic

HTML остаточного файлу Home/Index

Тепер, коли ми запускаємо програму, ми побачимо кнопку. Натискання на кнопку перенесе нас на нову вебсторінку.

pic

Висновок

MVC і ASP.NET роблять створення нових сторінок надзвичайно простим, коли ви освоїте шаблон. Просто пам’ятайте:

  • Файли контролерів повинні закінчуватися на “Controller”
  • Назва файлу контролера має збігатися з назвою папки у Views
  • Назва файлу View має збігатися з назвою функції IActionResult у контролері

Ці строгі вимоги можуть спричиняти баги, але саме вони забезпечують зручність використання, яка дозволяє нам легко створювати вебсторінки.

Перекладено з: ASP.NET MVC Page Routing

Leave a Reply

Your email address will not be published. Required fields are marked *