1) У меня есть класс PageBase, который наследуется от Page Class. Весь код наследуется от класса PageBase. Поэтому я хочу добавить логику обработки исключений в класс PageBase.
В Page_Error Event я добавил логику для обработки исключения, но я хочу, чтобы страница отображалась правильно с подробностями об исключении, отображаемыми в верхней части веб-страницы.
* 1005 например *
В веб-форме у меня есть кнопка управления, которая обновляет данные в базе данных. При нажатии кнопки у меня есть логика для обновления данных. При обновлении может выдать исключение. Я не хочу ставить блок Try catch на логику сохранения кнопки. Вместо этого я хочу, чтобы какой-то метод или событие в PageBase перехватило исключение и полностью отобразило страницу со всеми элементами управления и исключением в заголовке.
2) `// в Базовом классе страницы CodeBehind я написал
protected void TryAction(Action action)
{
try
{
action();
}
catch(Exception e)
{
// write exception to output (Response.Write(str))
}
}
В CodeBehind я написал код для события нажатия кнопки
Private List<T> GetData(string a, string b)
{
List<T> _lst;
TryAction(()=>{
//Call BLL Method to retrieve the list of BO.
_lst = BLLInstance.GetAllList(a,b);
});
return _lst;
}
Это отлично работает, я хочу,
Private List<T> GetData(string a, string b)
{
TryAction(()=>{
//Call BLL Method to retrieve the list of BO.
return BLLInstance.GetAllList(a,b);
});
}
Отображается ошибка «System.Action retuens void». Подскажите, пожалуйста, как использовать TryAction Method, если у нас есть тип возврата.