Skip to content

Пагінація “Show More” в Asp.Net

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Завантаження...

[ Полезный рекламный блок ]

Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.


У цій статті розглянемо процес побудови пагінації в стилі “Показати ще” в проєкті, який продемонструє спільне використання ASP.NET Core MVC і Entity Framework Core. Проект буде простим, але близьким до реальності, приступимо.

Створення та налаштування проекту

Щоб створити проєкт ShowMore, запустіть Visual Studio і виберіть у меню File (Файл) – New Project (Створити Проєкт). Вкажіть шаблон проекту ASP.NET Core Web Application (Веб-додаток ASP.NET Core). Введіть ShowMore, у полі Name, на наступній сторінці вкажіть Framework .Net 7.0 і натисніть кнопку Create:

Конфігурація підключення

Для початку завантажимо бібліотеку Entity Framework Core Sql Server:

загрузка библиотеки Entity Framework Core Sql Serve

Або через Package Manager Console:

Перейдемо у файл appsettings.json і пропишемо конфігурацію підключення та логування:

Рядки підключення визначаються у файлі appsettings.json, у коді вище наведено визначення рядка підключення для БД додатка GameStore. У проєкті застосовується версія LocalDB продукту SQL Server, яка спроєктована спеціально для розробників і не вимагає конфігурації або облікових даних.

Створення класу контексту даних

У забезпеченні доступу до даних у БД інфраструктура Entity Framework Core покладається на клас контексту БД. Щоб забезпечити приклад додатка контекстом, додайте папку Data, а в неї файл класу на ім’я ApplicationContext.cs з таким кодом:

Клас контексту БД відповідно простий – хоча ситуація зміниться зі зростанням складності моделі даних у ваших проєктах.

Модель і Репозиторій

Модель для додатка Show буде заснована на списку товарів. Створіть папку Models і додайте в неї файл класу на ім’я Product.cs з таким вмістом:

Використання патерну “Сховище” (Repository), у якому інтерфейс визначає властивості та методи, призначені для доступу до даних, а для роботи з механізмом зберігання даних застосовується клас реалізації. Перевага використання патерну “Сховище” пов’язана з полегшенням модульного тестування частини MVC додатка, а також із тим, що деталі, які стосуються зберігання даних, приховані від інших частин додатка.

Щоб створити інтерфейс сховища, створіть папку Interfaces і додайте в неї файл інтерфейсу на ім’я IProduct.cs із таким вмістом:

Створіть папку Repository і додайте в неї файл класу на ім’я ProductRepository.cs з таким вмістом:

У додатку ASP.NET Core MVC, доступ до об’єктів контексту даних управляється з використанням впровадження залежностей, і тому до класу ProductRepository було додано конструктор, який приймає об’єкт ApplicationContext, який буде надано засобом впровадження залежностей під час виконання.

Конфігурування постачальника бази даних і класу контексту

Додайте в клас Program.cs оператори конфігурації, щоб повідомити інфраструктуру Entity Framework Core про те, яким чином використовувати рядок підключення, який має застосовувати постачальник БД, і як керувати класом контексту:

Метод AddDbContext<T>(), що розширює, застосовується для налаштування класу контексту, вказує інфраструктурі Entity Framework Core, який постачальник БД використовувати (у цьому разі за допомогою методу UseSqlServer(), але для кожного постачальника БД передбачено свій метод), і надає рядок під’єднання.

Початкові дані

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

Для ініціалізації бази даних початковими ролями і користувачами, в папці Data, визначимо клас DbInit, з таким вмістом:

Використовуємо цей клас, у класі Program після var app = builder.Build();:

Тут за допомогою методу services.GetRequiredService() отримуємо сервіс ApplicationContext і передаємо їх у його метод InitializeAsync. У підсумку під час першого запуску в базу даних будуть додані всі необхідні дані.

Запустимо застосунок і перевіримо, щоб база даних успішно створилася, а таблиці з ролями і користувачами були заповнені:

asp.net localdb

 

Шановні ентузіасти програмування на C#!

Ми розуміємо, що іноді ви можете зіткнутися з труднощами під час вирішення проблем під час роботи над своїми проектами на C#. Якщо у вас виникли проблеми, пов’язані з мовою програмування C#, ми готові вам допомогти!
https://dijix.com.ua/blog помощь
Ви можете зв’язатися з нами електронною поштою або зателефонувати нам по телефону. Наша команда досвідчених розробників C# буде рада допомогти вам із будь-якими питаннями чи проблемами, які у вас можуть виникнути. Ми прагнемо допомогти вам подолати будь-які перешкоди, з якими ви зіткнетеся на шляху освоєння C#.
Не соромтеся звертатися до нас за будь-якою допомогою або керівництвом. Ми завжди готові підтримати вас у ваших починаннях.

З найкращими побажаннями,
[Леонід/ Dijix Company]

info@dijix.com.ua
+380970601478

 

Контролер і подання

Перейдемо в контролер Home і визначимо в ньому такий код:

Оскільки інформації про продукт не мало, винесемо його в окреме подання. Перейдемо в папку Views / Shared і додамо часткове подання _ProductPartial.cshtml, з таким вмістом:

Перейдемо в подання Views / Home / Index.cshtml і визначимо в ньому такий вміст:

Сторінка відображає початковий список продуктів. Під час натискання на кнопку “Show more”, спрацьовує JavaScript код, за допомогою якого надсилається запит за адресою “/get-more-products?page=” + page + “&pageSize”, у відповідь на цей запит ми отримуємо часткове представлення з даними про товари, яке успішно додаємо в основний блок на сторінку.

Перейдемо до папки Views / Shared і додамо часткове подання _ProductsPartial.cshtml, з таким вмістом:

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

Я сподіваюся, що вам сподобалося читати цю статтю, і вона виявилася легкою для розуміння. Будь ласка, дайте мені знати, якщо у вас є якісь коментарі або виправлення.

Так само вам може бути цікава попередня стаття – Створення додатка з використанням ASP.NET Core MVC і EF Core.

Ви хочете навчитися писати код мовою програмування C#?

Створювати різні інформаційні системи, що складаються з сайтів, мобільних клієнтів, десктопних додатків, телеграм-ботів тощо.

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

  • Доступ до пройденого матеріалу
  • Тематичні статті
  • Бібліотека книг
  • Онлайн тестування
  • Спілкування в закритих групах

https://dijix.com.ua

Живи у своєму світі, програмуй у нашому.

 

Published inAsp.Net Core
Subscribe
Notify of
guest
0 комментариев
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x