Полный текст ошибки, которую я получаю
Произошло необработанное исключение при обработке запроса. InvalidOperationException: элемент модели, передаваемый в ViewDataDictionary, имеет тип 'FashionNova.Web.Areas.Identity.Pages.Account.LoginModel', но для этого экземпляра ViewDataDictionary требуется элемент модели типа 'FashionNova.Web.ViewModels.HomeViewModel'.
Это мой HomeController
namespace FashionNova.Web.Controllers
{
using FashionNova.Services;
using FashionNova.Web.ViewModels;
using Microsoft.AspNetCore.Mvc;
public class HomeController : BaseController
{
private readonly IMainCategoryService mainCategoryService;
public HomeController(IMainCategoryService mainCategoryService)
{
this.mainCategoryService = mainCategoryService;
}
public IActionResult Index(HomeViewModel model)
{
var categoriesViewModel = this.mainCategoryService
.GetAllMainCategories<HomeMainCategoryViewModel>();
model.AllCategoriesViewModel = categoriesViewModel;
return this.View(model);
}
public IActionResult Privacy()
{
return this.View();
}
public IActionResult About()
{
return this.View();
}
public IActionResult Contact()
{
return this.View();
}
public IActionResult Test()
{
return this.View();
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error() => this.View();
}
}
Это мой макет
@using FashionNova.Data.Models
@using Microsoft.AspNetCore.Identity
@inject SignInManager<ApplicationUser> SignInManager
@inject UserManager<ApplicationUser> UserManager
<!DOCTYPE html>
<html lang="en">
<head>
<title>@ViewData["Title"]</title>
<meta name="description" content="Fashion Nova is the top online fashion store for women & men. Shop sexy club dresses, jeans, shoes, bodysuits, skirts & more. Cheap & affordable fashion online">
<!-- Favicon -->
<link rel="icon" type="image/x-icon" href="images/icons/favicon.ico">
<!-- Plugins CSS File -->
<link rel="stylesheet" href="~/css/bootstrap.min.css">
<!-- Main CSS File -->
<link rel="stylesheet" href="~/css/style.min.css">
</head>
<body>
<div class="page-wrapper">
<header class="header">
<partial name="Partials/_HeaderTopPartial"/>
<div class="header-middle sticky-header">
<div class="container">
<div class="header-left">
<ul class="menu sf-arrows">
<li class="active">
<a asp-area="" asp-controller="Home" asp-action="Index">Home</a>
</li>
<partial name="Partials/NavigationPartials/_NavigationHeaderLeftCategoryPartial"/>
<partial name="Partials/NavigationPartials/_NavigationHeaderLeftProductsPartial"/>
<partial name="Partials/NavigationPartials/_NavigationHeaderLeftPagesPartial"/>
</ul>
</div>
<partial name="Partials/NavigationPartials/_NavigationHeaderCenterPartial"/>
<div class="header-right">
<partial name="Partials/NavigationPartials/_NavigationHeaderRightPartial"/>
</div><!-- End .header-right -->
</div><!-- End .container -->
</div><!-- End .header-middle -->
</header><!-- End .header -->
<main class="main">
@this.RenderBody()
</main>
<partial name="Partials/_FooterPartial"/>
</div>
<div class="mobile-menu-overlay"></div>
<div class="mobile-menu-container">
<partial name="Partials/_MobileMenuPartial"/>
</div>
<a id="scroll-top" href="#top" title="Top" role="button">
<i class="icon-angle-up"></i>
</a>
<script src="~/js/jquery.min.js"></script>
<script src="~/js/bootstrap.bundle.min.js"></script>
<script src="~/js/plugins.min.js"></script>
<script src="~/js/main.min.js"></script>
@this.RenderSection("Scripts", required: false)
</body>
</html>
Все работает нормально, пока я не попытаюсь передать модель ЛЮБОМУ партиалов вмакет, будь то частичный нижний колонтитул, частичный заголовок, частичный элемент навигации.
Я передаю HomeViewModel в часть категорий частичного элемента навигации, поэтому я не связываюсь с другими частями навигации
@model HomeViewModel
<li>
<a href="category.html" class="sf-with-ul">Categories</a>
<div class="megamenu megamenu-fixed-width">
<div class="row">
<div class="col-lg-8">
<div class="row">
<div class="col-lg-6">
<div class="menu-title">
<a href="#">Variations 1<span class="tip tip-new">New!</span></a>
</div>
<ul>
<li>
<a href="category-banner-full-width.html">Fullwidth Banner<span class="tip tip-hot">Hot!</span></a>
</li>
<li>
<a href="category-banner-boxed-slider.html">Boxed Slider Banner</a>
</li>
<li>
<a href="category-banner-boxed-image.html">Boxed Image Banner</a>
</li>
<li>
<a href="category-sidebar-left.html">Left Sidebar</a>
</li>
<li>
<a href="category-sidebar-right.html">Right Sidebar</a>
</li>
<li>
<a href="category-flex-grid.html">Product Flex Grid</a>
</li>
<li>
<a href="category-horizontal-filter1.html">Horizontal Filter1</a>
</li>
<li>
<a href="category-horizontal-filter2.html">Horizontal Filter2</a>
</li>
</ul>
</div><!-- End .col-lg-6 -->
<div class="col-lg-6">
<div class="menu-title">
<a href="#">Variations 2</a>
</div>
<ul>
<li>
<a href="#">Product List Item Types</a>
</li>
<li>
<a href="category-infinite-scroll.html">Ajax Infinite Scroll</a>
</li>
<li>
<a href="category-3col.html">3 Columns Products</a>
</li>
<li>
<a href="category-4col.html">4 Columns Products <span class="tip tip-new">New</span></a>
</li>
<li>
<a href="category-5col.html">5 Columns Products</a>
</li>
<li>
<a href="category-6col.html">6 Columns Products</a>
</li>
<li>
<a href="category-7col.html">7 Columns Products</a>
</li>
<li>
<a href="category-8col.html">8 Columns Products</a>
</li>
</ul>
</div><!-- End .col-lg-6 -->
</div><!-- End .row -->
</div><!-- End .col-lg-8 -->
<div class="col-lg-4">
<div class="banner">
<a href="#">
<img src="~/images/menu-banner-2.jpg" alt="Menu banner">
</a>
</div><!-- End .banner -->
</div><!-- End .col-lg-4 -->
</div>
</div><!-- End .megamenu -->
</li>
Мой loginPartial содержится в другой части навигационной части, я попытался разделить их, чтобы неверная модель не прошла, но даже после этого - та же проблема возвращается.
<li>
<a href="#" class="sf-with-ul">Pages</a>
<ul>
<li>
<a href="cart.html">Shopping Cart</a>
</li>
<li>
<a href="#">Checkout</a>
<ul>
<li>
<a href="checkout-shipping.html">Checkout Shipping</a>
</li>
<li>
<a href="checkout-shipping-2.html">Checkout Shipping 2</a>
</li>
<li>
<a href="checkout-review.html">Checkout Review</a>
</li>
</ul>
</li>
<li>
<a href="#">Dashboard</a>
<ul>
<li>
<a href="dashboard.html">Dashboard</a>
</li>
<li>
<a href="my-account.html">My Account</a>
</li>
</ul>
</li>
<li>
<a asp-area="" asp-controller="Home" asp-action="About">About Us</a>
</li>
<li>
<a href="#">Blog</a>
<ul>
<li>
<a href="blog.html">Blog</a>
</li>
<li>
<a href="single.html">Blog Post</a>
</li>
</ul>
</li>
<li>
<a asp-area="" asp-controller="Home" asp-action="Contact">Contact Us</a>
</li>
<li>
<partial name="_LoginPartial"/>
</li>
<li>
<a a asp-area="Identity" asp-page="/Account/ForgotPassword">Forgot Password</a>
</li>
</ul>
</li>
Я передаю HomeViewModel в Index, потому что хочу загрузить все категории, продукты и 2 ряда продуктов во внешнем интерфейсе. т, но когда я это делаю - логин не работает.