Я открываю ASP.NET Core MVC и начинаю свой первый проект. Создание крутого интернет магазина.
Мне сейчас интересно, как реализовать проверку неверной информации, например, в контроллере
Скажем, есть страница продукта, когда пользователи нажимают на продукт, они нажимают на функцию ниже.
Как вы видите, функция принимает параметр int с именем id, она будет искать в базе данных идентификатор, соответствующий productId
, но мне интересно, как мне добавить проверку ошибок здесь? Как, например, если id
не существует в базе данных, вернитесь на страницу XX?
Также не стесняйтесь давать советы функции, если она вам не нравится.
Я уже пытался сделать простое утверждение if и else
if(productvm == null)
{
then
return RedirectToPage("Index")
}
else
return View("ProductPage", productVm);
но, похоже, оно не попало в оператор if
[Route("ProductPage/{id}")]
public IActionResult ProductPage(int id)
{
Product product = _uow.Products.SelectProduct(id);
var stockViewModels = new List<StockViewModel>();
foreach (Stock stock in product.Stock)
{
stockViewModels.Add(new StockViewModel()
{
Id = stock.Id,
Description = stock.Description,
IsAvailable = stock.IsAvailable,
Quantity = stock.Quantity,
});
}
ProductViewModel productVm = new ProductViewModel
{
Name = product.Name,
Id = product.Id,
Description = product.Description,
Price = product.Price,
Stocks = stockViewModels,
};
if (productVm == null)
{
return RedirectToPage("Productslist");
}
else
{
return View("ProductPage", productVm);
}
}
Я в основном хочу обработать ошибку контроллера, если идентификатор не найден в базе данных, затем выполнить XX
Способ проверки функции заключается в изменении ID
при просмотре страницы с идентификатором, которого нет в базе данных, затем я получаю эту ошибку:
https://i.imgur.com/1amWx43.png
и я хочу справиться с этим