Как я могу реализовать обработку исключений в моем компоненте представления?
Заключение логики из моего метода действия в блоки _1 _ / _ 2_ не улавливает никаких исключений, возникающих в самом компоненте представления, и я не хочу, чтобы приложение прекращало работу независимо от каких-либо ошибок. Это то, что я делаю до сих пор и пытаюсь достичь:
Метод действия
public IActionResult LoadComments(int id)
{
try
{
return ViewComponent("CardComments", new { id });
}
catch (SqlException e)
{
return RedirectToAction("Error", "Home");
}
}
Повторюсь, это не перехватывает SqlException
, который возникает внутри самого компонента представления, и, следовательно, не может выполнить перенаправление.
Просмотр компонента
public class CardCommentsViewComponent : ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync(int id)
{
try
{
IEnumerable<CardCommentData> comments = await DbHelper.GetCardCommentData(id);
return View(comments);
}
catch (SqlException e)
{
//Redirect from here if possible?
}
}
}
Могу ли я сделать это с помощью метода действий контроллера? Если нет, как я могу перенаправить из самого компонента представления? Я попытался исследовать эту проблему, но ничего не вышло. Любая информация будет полезна.