Добавлена постраничная навигация средствами X.PagedList

Добавлены данные в бд.
Переработан экшен в контроллере FilmsController для обработки постраничной навигации
Стилизованы кнопки постраничной навигации.
parent 9b4d9e76
...@@ -74,6 +74,8 @@ ...@@ -74,6 +74,8 @@
<e p="favicon.ico" t="Include" /> <e p="favicon.ico" t="Include" />
<e p="images" t="Include"> <e p="images" t="Include">
<e p="Posters" t="Include"> <e p="Posters" t="Include">
<e p="The Lord Of The Rings_The_Lord_of_the_Rings._The_Fellowship_of_the_Ring_—_movie.jpg" t="Include" />
<e p="Иван Васильевич меняет профессию_Иван_Васильевич_меняет_профессию_(постер).jpg" t="Include" />
<e p="Три мушкетера_Три_мушкетёра_(2013).jpg" t="Include" /> <e p="Три мушкетера_Три_мушкетёра_(2013).jpg" t="Include" />
</e> </e>
</e> </e>
......
...@@ -13,27 +13,13 @@ ...@@ -13,27 +13,13 @@
<select /> <select />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="411e953d-ac1b-431b-8c52-f61006a5f2f2" name="Default Changelist" comment="&#10;Добавлен файл БД(cinema.db)&#10;Удалены лишние файлы не относящиеся к проекту (HomeController) и его представления&#10;Стартовая страница изменена на Films/Index&#10;Добавлено представление для главной страницы Films/Index&#10;В контроллере Films добавлен Экшен Index"> <list default="true" id="411e953d-ac1b-431b-8c52-f61006a5f2f2" name="Default Changelist" comment="Добавлена аутентификация пользователя по email/паролю&#10;Добавлены представления аутентификации и выхода из приложения.&#10;Добавлено представление отображения детальной информации по фильму.&#10;Добавлено представление профиля пользователя.&#10;Вынесены линки на регистрацию/вход/ добавление фильма в Layout">
<change afterPath="$PROJECT_DIR$/Controllers/AccountController.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Models/LoginViewModel.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Models/RegisterViewModel.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Views/Account/Index.cshtml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Views/Account/Login.cshtml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Views/Account/Register.cshtml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Views/Films/About.cshtml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.Cinema/.idea/contentModel.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.Cinema/.idea/contentModel.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/.idea.Cinema/.idea/contentModel.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.Cinema/.idea/contentModel.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.Cinema/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.Cinema/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/.idea.Cinema/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.Cinema/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Cinema.csproj" beforeDir="false" afterPath="$PROJECT_DIR$/Cinema.csproj" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Cinema.csproj" beforeDir="false" afterPath="$PROJECT_DIR$/Cinema.csproj" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Controllers/FilmsController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Controllers/FilmsController.cs" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Controllers/FilmsController.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Controllers/FilmsController.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Data/CinemaContext.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Data/CinemaContext.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Models/ErrorViewModel.cs" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/Models/Film.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Models/Film.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Models/FilmViewModel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Models/FilmViewModel.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Startup.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Startup.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Views/Films/Add.cshtml" beforeDir="false" afterPath="$PROJECT_DIR$/Views/Films/Add.cshtml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Views/Films/Index.cshtml" beforeDir="false" afterPath="$PROJECT_DIR$/Views/Films/Index.cshtml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Views/Films/Index.cshtml" beforeDir="false" afterPath="$PROJECT_DIR$/Views/Films/Index.cshtml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Views/Shared/_Layout.cshtml" beforeDir="false" afterPath="$PROJECT_DIR$/Views/Shared/_Layout.cshtml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/cinema.db" beforeDir="false" afterPath="$PROJECT_DIR$/cinema.db" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cinema.db" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/wwwroot/css/site.css" beforeDir="false" afterPath="$PROJECT_DIR$/wwwroot/css/site.css" afterDir="false" /> <change beforePath="$PROJECT_DIR$/wwwroot/css/site.css" beforeDir="false" afterPath="$PROJECT_DIR$/wwwroot/css/site.css" afterDir="false" />
</list> </list>
<list id="b32251c1-d844-4e65-bf1c-9f6cfe4d536a" name="Добавлены модели: User для дополнительного описания сущности пользователя, в виде Имени и Фамилии. Film для описания сущности фильма. Определены и добавлены следующие nuget-пакеты : Identity, efCore Design, Proxies, Sqlite Настроена конфигурация используемой БД. Добавлена начальная миграция" comment="" /> <list id="b32251c1-d844-4e65-bf1c-9f6cfe4d536a" name="Добавлены модели: User для дополнительного описания сущности пользователя, в виде Имени и Фамилии. Film для описания сущности фильма. Определены и добавлены следующие nuget-пакеты : Identity, efCore Design, Proxies, Sqlite Настроена конфигурация используемой БД. Добавлена начальная миграция" comment="" />
...@@ -52,7 +38,17 @@ ...@@ -52,7 +38,17 @@
</component> </component>
<component name="HighlightingSettingsPerFile"> <component name="HighlightingSettingsPerFile">
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/E861A8F7-CA3E-4C3E-8C40-5FD7641920A2/3/IdentityUserContext.cs" root0="SKIP_HIGHLIGHTING" /> <setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/E861A8F7-CA3E-4C3E-8C40-5FD7641920A2/3/IdentityUserContext.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="mock:///home/alexey/RiderProjects/Cinema/Views/Shared/_Layout.cshtml" root0="FORCE_HIGHLIGHTING" root1="SKIP_HIGHLIGHTING" />
<setting file="mock:///home/alexey/RiderProjects/Cinema/Data/CinemaContext.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="mock:///home/alexey/RiderProjects/Cinema/Migrations/CinemaContextModelSnapshot.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="mock:///home/alexey/RiderProjects/Cinema/Views/Films/Index.cshtml" root0="FORCE_HIGHLIGHTING" root1="SKIP_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/F9B7D2EE-C4FD-432F-A52C-CB3A9E9DE266/3/IdentityUser.cs" root0="SKIP_HIGHLIGHTING" /> <setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/F9B7D2EE-C4FD-432F-A52C-CB3A9E9DE266/3/IdentityUser.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="mock:///home/alexey/RiderProjects/Cinema/Models/Film.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="mock:///home/alexey/RiderProjects/Cinema/Controllers/FilmsController.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="mock:///home/alexey/RiderProjects/Cinema/Startup.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/DecompilerCache/decompiler/47A6E419-BF41-4E8D-983F-ABFDC945D04A/ee/5011ea85/PagerTagHelper.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="mock:///home/alexey/RiderProjects/Cinema/Views/Films/Add.cshtml" root0="FORCE_HIGHLIGHTING" root1="SKIP_HIGHLIGHTING" />
<setting file="mock:///home/alexey/RiderProjects/Cinema/Models/FilmViewModel.cs" root0="SKIP_HIGHLIGHTING" />
</component> </component>
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
...@@ -70,13 +66,15 @@ ...@@ -70,13 +66,15 @@
<option value="$PROJECT_DIR$/Startup.cs" /> <option value="$PROJECT_DIR$/Startup.cs" />
<option value="$PROJECT_DIR$/Views/Shared/_Layout.cshtml" /> <option value="$PROJECT_DIR$/Views/Shared/_Layout.cshtml" />
<option value="$PROJECT_DIR$/Views/Account/Index.cshtml" /> <option value="$PROJECT_DIR$/Views/Account/Index.cshtml" />
<option value="$PROJECT_DIR$/wwwroot/css/site.css" />
<option value="$PROJECT_DIR$/Views/Films/Index.cshtml" />
<option value="$PROJECT_DIR$/Models/Film.cs" /> <option value="$PROJECT_DIR$/Models/Film.cs" />
<option value="$PROJECT_DIR$/Controllers/FilmsController.cs" />
<option value="$PROJECT_DIR$/Models/FilmViewModel.cs" /> <option value="$PROJECT_DIR$/Models/FilmViewModel.cs" />
<option value="$PROJECT_DIR$/Views/Films/Add.cshtml" /> <option value="$PROJECT_DIR$/Views/Films/Add.cshtml" />
<option value="$PROJECT_DIR$/Views/Films/About.cshtml" /> <option value="$PROJECT_DIR$/Views/Films/About.cshtml" />
<option value="$PROJECT_DIR$/Pagination/SitePagedListPagination.cs" />
<option value="$PROJECT_DIR$/Views/_ViewImports.cshtml" />
<option value="$PROJECT_DIR$/Views/Films/Index.cshtml" />
<option value="$PROJECT_DIR$/wwwroot/css/site.css" />
<option value="$PROJECT_DIR$/Controllers/FilmsController.cs" />
</list> </list>
</option> </option>
</component> </component>
...@@ -134,7 +132,7 @@ ...@@ -134,7 +132,7 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1605771522746</updated> <updated>1605771522746</updated>
<workItem from="1605771536927" duration="10080000" /> <workItem from="1605771536927" duration="10080000" />
<workItem from="1605950916335" duration="5649000" /> <workItem from="1605950916335" duration="8111000" />
</task> </task>
<task id="LOCAL-00001" summary="Начало проекта"> <task id="LOCAL-00001" summary="Начало проекта">
<created>1605772561160</created> <created>1605772561160</created>
...@@ -164,7 +162,14 @@ ...@@ -164,7 +162,14 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1605778110766</updated> <updated>1605778110766</updated>
</task> </task>
<option name="localTasksCounter" value="5" /> <task id="LOCAL-00005" summary="Добавлена аутентификация пользователя по email/паролю&#10;Добавлены представления аутентификации и выхода из приложения.&#10;Добавлено представление отображения детальной информации по фильму.&#10;Добавлено представление профиля пользователя.&#10;Вынесены линки на регистрацию/вход/ добавление фильма в Layout">
<created>1605957184290</created>
<option name="number" value="00005" />
<option name="presentableId" value="LOCAL-00005" />
<option name="project" value="LOCAL" />
<updated>1605957184290</updated>
</task>
<option name="localTasksCounter" value="6" />
<servers /> <servers />
</component> </component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
...@@ -190,33 +195,34 @@ ...@@ -190,33 +195,34 @@
<MESSAGE value="Добавлены модели: User для дополнительного описания сущности пользователя, в виде Имени и Фамилии.&#10;Film для описания сущности фильма.&#10;Определены и добавлены следующие nuget-пакеты :&#10;Identity, efCore Design, Proxies, Sqlite&#10;Настроена конфигурация используемой БД.&#10;Добавлена начальная миграция" /> <MESSAGE value="Добавлены модели: User для дополнительного описания сущности пользователя, в виде Имени и Фамилии.&#10;Film для описания сущности фильма.&#10;Определены и добавлены следующие nuget-пакеты :&#10;Identity, efCore Design, Proxies, Sqlite&#10;Настроена конфигурация используемой БД.&#10;Добавлена начальная миграция" />
<MESSAGE value="Добавлены модели: User для дополнительного описания сущности пользователя, в виде Имени и Фамилии.&#10;Film для описания сущности фильма.&#10;Определены и добавлены следующие nuget-пакеты :&#10;Identity, efCore Design, Proxies, Sqlite.Core&#10;Настроена конфигурация используемой БД.&#10;Добавлена начальная миграция" /> <MESSAGE value="Добавлены модели: User для дополнительного описания сущности пользователя, в виде Имени и Фамилии.&#10;Film для описания сущности фильма.&#10;Определены и добавлены следующие nuget-пакеты :&#10;Identity, efCore Design, Proxies, Sqlite.Core&#10;Настроена конфигурация используемой БД.&#10;Добавлена начальная миграция" />
<MESSAGE value="&#10;Добавлен файл БД(cinema.db)&#10;Удалены лишние файлы не относящиеся к проекту (HomeController) и его представления&#10;Стартовая страница изменена на Films/Index&#10;Добавлено представление для главной страницы Films/Index&#10;В контроллере Films добавлен Экшен Index" /> <MESSAGE value="&#10;Добавлен файл БД(cinema.db)&#10;Удалены лишние файлы не относящиеся к проекту (HomeController) и его представления&#10;Стартовая страница изменена на Films/Index&#10;Добавлено представление для главной страницы Films/Index&#10;В контроллере Films добавлен Экшен Index" />
<option name="LAST_COMMIT_MESSAGE" value="&#10;Добавлен файл БД(cinema.db)&#10;Удалены лишние файлы не относящиеся к проекту (HomeController) и его представления&#10;Стартовая страница изменена на Films/Index&#10;Добавлено представление для главной страницы Films/Index&#10;В контроллере Films добавлен Экшен Index" /> <MESSAGE value="Добавлена аутентификация пользователя по email/паролю&#10;Добавлены представления аутентификации и выхода из приложения.&#10;Добавлено представление отображения детальной информации по фильму.&#10;Добавлено представление профиля пользователя.&#10;Вынесены линки на регистрацию/вход/ добавление фильма в Layout" />
<option name="LAST_COMMIT_MESSAGE" value="Добавлена аутентификация пользователя по email/паролю&#10;Добавлены представления аутентификации и выхода из приложения.&#10;Добавлено представление отображения детальной информации по фильму.&#10;Добавлено представление профиля пользователя.&#10;Вынесены линки на регистрацию/вход/ добавление фильма в Layout" />
</component> </component>
<component name="WindowStateProjectService"> <component name="WindowStateProjectService">
<state x="529" y="406" width="852" height="229" key="Git.Rebase.Log.Action.NewCommitMessage.Dialog" timestamp="1605775025446"> <state x="529" y="406" width="852" height="229" key="Git.Rebase.Log.Action.NewCommitMessage.Dialog" timestamp="1605775025446">
<screen x="0" y="0" width="1920" height="1044" /> <screen x="0" y="0" width="1920" height="1044" />
</state> </state>
<state x="529" y="406" width="852" height="229" key="Git.Rebase.Log.Action.NewCommitMessage.Dialog/0.0.1920.1044/1920.0.1920.1080@0.0.1920.1044" timestamp="1605775025446" /> <state x="529" y="406" width="852" height="229" key="Git.Rebase.Log.Action.NewCommitMessage.Dialog/0.0.1920.1044/1920.0.1920.1080@0.0.1920.1044" timestamp="1605775025446" />
<state width="1878" height="277" key="GridCell.Tab.0.bottom" timestamp="1605956791150"> <state width="1878" height="277" key="GridCell.Tab.0.bottom" timestamp="1605959198725">
<screen x="0" y="0" width="1920" height="1044" /> <screen x="0" y="0" width="1920" height="1044" />
</state> </state>
<state width="1878" height="277" key="GridCell.Tab.0.bottom/0.0.1920.1044/1920.0.1920.1080@0.0.1920.1044" timestamp="1605785567204" /> <state width="1878" height="277" key="GridCell.Tab.0.bottom/0.0.1920.1044/1920.0.1920.1080@0.0.1920.1044" timestamp="1605785567204" />
<state width="1878" height="277" key="GridCell.Tab.0.bottom/0.0.1920.1044@0.0.1920.1044" timestamp="1605956791150" /> <state width="1878" height="277" key="GridCell.Tab.0.bottom/0.0.1920.1044@0.0.1920.1044" timestamp="1605959198725" />
<state width="1878" height="277" key="GridCell.Tab.0.center" timestamp="1605956791150"> <state width="1878" height="277" key="GridCell.Tab.0.center" timestamp="1605959198725">
<screen x="0" y="0" width="1920" height="1044" /> <screen x="0" y="0" width="1920" height="1044" />
</state> </state>
<state width="1878" height="277" key="GridCell.Tab.0.center/0.0.1920.1044/1920.0.1920.1080@0.0.1920.1044" timestamp="1605785567204" /> <state width="1878" height="277" key="GridCell.Tab.0.center/0.0.1920.1044/1920.0.1920.1080@0.0.1920.1044" timestamp="1605785567204" />
<state width="1878" height="277" key="GridCell.Tab.0.center/0.0.1920.1044@0.0.1920.1044" timestamp="1605956791150" /> <state width="1878" height="277" key="GridCell.Tab.0.center/0.0.1920.1044@0.0.1920.1044" timestamp="1605959198725" />
<state width="1878" height="277" key="GridCell.Tab.0.left" timestamp="1605956791149"> <state width="1878" height="277" key="GridCell.Tab.0.left" timestamp="1605959198725">
<screen x="0" y="0" width="1920" height="1044" /> <screen x="0" y="0" width="1920" height="1044" />
</state> </state>
<state width="1878" height="277" key="GridCell.Tab.0.left/0.0.1920.1044/1920.0.1920.1080@0.0.1920.1044" timestamp="1605785567204" /> <state width="1878" height="277" key="GridCell.Tab.0.left/0.0.1920.1044/1920.0.1920.1080@0.0.1920.1044" timestamp="1605785567204" />
<state width="1878" height="277" key="GridCell.Tab.0.left/0.0.1920.1044@0.0.1920.1044" timestamp="1605956791149" /> <state width="1878" height="277" key="GridCell.Tab.0.left/0.0.1920.1044@0.0.1920.1044" timestamp="1605959198725" />
<state width="1878" height="277" key="GridCell.Tab.0.right" timestamp="1605956791150"> <state width="1878" height="277" key="GridCell.Tab.0.right" timestamp="1605959198725">
<screen x="0" y="0" width="1920" height="1044" /> <screen x="0" y="0" width="1920" height="1044" />
</state> </state>
<state width="1878" height="277" key="GridCell.Tab.0.right/0.0.1920.1044/1920.0.1920.1080@0.0.1920.1044" timestamp="1605785567204" /> <state width="1878" height="277" key="GridCell.Tab.0.right/0.0.1920.1044/1920.0.1920.1080@0.0.1920.1044" timestamp="1605785567204" />
<state width="1878" height="277" key="GridCell.Tab.0.right/0.0.1920.1044@0.0.1920.1044" timestamp="1605956791150" /> <state width="1878" height="277" key="GridCell.Tab.0.right/0.0.1920.1044@0.0.1920.1044" timestamp="1605959198725" />
<state x="644" y="228" width="622" height="585" key="RiderGenerateDialog" timestamp="1605951142994"> <state x="644" y="228" width="622" height="585" key="RiderGenerateDialog" timestamp="1605951142994">
<screen x="0" y="0" width="1920" height="1044" /> <screen x="0" y="0" width="1920" height="1044" />
</state> </state>
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="3.1.10" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="3.1.10" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.10" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.10" />
<PackageReference Include="X.PagedList.Mvc.Core" Version="8.0.7" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
......
...@@ -9,6 +9,7 @@ using Cinema.Services; ...@@ -9,6 +9,7 @@ using Cinema.Services;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using X.PagedList;
namespace Cinema.Controllers namespace Cinema.Controllers
{ {
...@@ -31,10 +32,15 @@ namespace Cinema.Controllers ...@@ -31,10 +32,15 @@ namespace Cinema.Controllers
_userManager = userManager; _userManager = userManager;
} }
public IActionResult Index() public IActionResult Index(int? page)
{ {
List<Film> films = _db.Films.OrderBy(f => f.UpdatedAt).ToList(); List<Film> films = _db.Films.OrderByDescending(f => f.UpdatedAt).ToList();
return View(films);
var pageNumber = page ?? 1;
var onePageOfFilms = films.ToPagedList(pageNumber, 21);
ViewBag.FilmPage = onePageOfFilms;
return View();
} }
public IActionResult About(int id) public IActionResult About(int id)
......
@model List<Film> @using X.PagedList
@using X.PagedList.Mvc.Core
@{ @{
ViewBag.Title = "Главная страница Все фильмы"; ViewBag.Title = "Главная страница Все фильмы";
Layout = "_Layout"; Layout = "_Layout";
} }
@if (@Model.Count == 0) @if (@ViewBag.FilmPage.Count == 0)
{ {
<h3>Список фильмов Пуст</h3> <h3>Список фильмов Пуст</h3>
} }
...@@ -14,22 +15,23 @@ else ...@@ -14,22 +15,23 @@ else
<h2>Список загруженных фильмов</h2> <h2>Список загруженных фильмов</h2>
<div class="d-flex align-items-stretch flex-wrap justify-content-between"> <div class="d-flex align-items-stretch flex-wrap justify-content-between">
@foreach (var film in @Model) @foreach (var film in @ViewBag.FilmPage)
{ {
<div class="film-card"> <div class="film-card">
<a asp-action="About" asp-route-id="@film.Id"> <a asp-action="About" asp-route-id="@film.Id">
<div class="film-poster"> <div class="film-poster">
<img src="@film.Poster" alt="@film.Name"> <img src="@film.Poster" alt="@film.Name">
</div> </div>
<p class="film-name"> <p class="film-name">
Название - @film.Name Название - @film.Name
</p> </p>
</a> </a>
<p>Год выпуска - @film.PublishYear</p> <p>Год выпуска - @film.PublishYear</p>
<a asp-action="Index" asp-controller="Account" asp-route-id="@film.UserId"> <a asp-action="Index" asp-controller="Account" asp-route-id="@film.UserId">
Добавлен @film.User.Email Добавлен @film.User.Email
</a> </a>
</div> </div>
} }
</div> </div>
} }
\ No newline at end of file @Html.PagedListPager( (IPagedList)ViewBag.FilmPage, page => Url.Action("Index", new { page }) )
No preview for this file type
...@@ -80,3 +80,10 @@ img{ ...@@ -80,3 +80,10 @@ img{
width: 32%; width: 32%;
margin-bottom: 15px; margin-bottom: 15px;
} }
.pagination-container .pagination li{
padding: 5px 12px;
border: 1px solid silver;
border-radius: 5px;
margin: 0 3px;
display: block;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment