1) 페이지 클래스에서 상속 한 PageBase 클래스가 있습니다. 모든 코드는 PageBase 클래스에서 상속받습니다. 그래서 예외 처리 로직을 PageBase 클래스에 추가하려고합니다.PageBase ASP.NET 웹 양식의 예외 처리?
Page_Error 이벤트에서 예외를 처리하는 논리를 추가했지만 웹 페이지의 맨 위에 예외 정보가 올바르게 표시되도록 페이지를 올바르게 표시하려고합니다. 웹 양식에
예컨대
나는 데이터베이스에서 데이터를 업데이트 버튼을 제어 할 수 있습니다. 버튼을 클릭하면 데이터를 업데이트하는 논리가 있습니다. 그것을 업데이트하는 동안 예외가 발생할 수 있습니다. 나 버튼을 클릭 로직을 저장 클릭 catch 블록을 넣어 싶지 않아. 대신 일부 메서드 또는 이벤트를 PageBase 예외를 catch하고 머리글에서 모든 컨트롤 및 예외 페이지를 완전히 렌더링 할.
2)`// 코드 숨김 페이지의 기본 클래스에서, 나는 내가 버튼을 클릭 이벤트
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;
}
이 잘 작동에 대한 코드를 작성했습니다 코드 숨김에서
protected void TryAction(Action action)
{
try
{
action();
}
catch(Exception e)
{
// write exception to output (Response.Write(str))
}
}
을 작성했습니다 원하는,
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"오류를 표시하고 있습니다, 어떻게하면 우리에게 말해 줄 수 있습니까? e TryAction 반환 형식이있는 경우 메서드입니다.
Page_Error로 버블 링되기 전에 어떤 방식 으로든 페이지를 렌더링하고 나머지 렌더링을 계속할 수 있습니다. HttpModules 또는 Handler 구현과 같은 것이 있습니까? – Pravin
내가 여기에 당신에게 준 스 니펫은 버튼 클릭 핸들러 안에서 잡을 것입니다. – SynXsiS
모든 코드 숨김 파일에 스 니펫을 포함해야합니다. 대신 뭔가 내가 HttpModules 및 HttpHandlers 구현하여 pagebase있는 일부 메서드를 추가 할 수 있습니까? – Pravin