Как я могу исправить ошибку несоответствия моделей? Я получаю эту ошибку исключения An unhandled exception occurred while processing the request. ViewDataDictionary instance requires a model item of type
.
У меня есть три действия для страниц «Индекс», «Подробно» и «Редактировать» в моем контроллере, когда я перехожу от страницы «Редактирование к странице« Деталь »и« Индекс до детали »», я получаю ошибку несоответствия модели. Нужна ваша помощь в том, как исправить или отобразить между ними.
Task<IList<VW_ProductDTO>> GetProducts();
Task<ProductDTO> GetProductsbyId(int id);
У меня отображается как:
CreateMap<Product, ProductDTO>();
CreateMap<VW_Product, VW_ProductDTO>();
CreateMap<ProductDTO, Product>()
И в моем контроллере у меня есть следующие действия:
Для Index.cs html: используется VW_ProductDTO
[HttpGet]
public async Task<IActionResult> GetProducts([DataSourceRequest] DataSourceRequest request)
{
var Products = await ProductService.GetProducts();
return Json(Products.ToDataSourceResult(request));
}
Для Detail.cs html
[HttpGet]
public async Task<IActionResult> Details(int id)
{
var Product = await ProductService.GetProductsbyId(id);
return View(Product);
}
Для Edit.cs html
public async Task<IActionResult> Edit(int id)
{
var Product = await ProductService.GetProductsbyId(id);
return View(Product);
}
и, на мой взгляд, иметь ссылку для перехода на страницу сведений
<a asp-controller="Product" asp-action="Details" asp-route-id="@Model.ID">View Product</a>
, когда я нажимаю на ссылку, чтобы просмотреть страницу сведений, я получаю эту ошибку
An Произошло необработанное исключение при обработке запроса. InvalidOperationException: элемент модели, передаваемый в ViewDataDictionary, имеет тип «ProductDTO», но для этого экземпляра ViewDataDictionary требуется элемент модели типа «VW_ProductDTO».