我的asp.net web项目的一个页面上有ObjectDataSource和GridView。
要初始化ObjectDataSource,我使用Init事件:
protected void ObjectDataSource1_Init(object sender, EventArgs e)
{
ObjectDataSource1.EnablePaging = true;
ObjectDataSource1.TypeName = "CustomerDataSource";
ObjectDataSource1.DataObjectTypeName = "Customer";
ObjectDataSource1.SelectMethod = "GetCustomers";
ObjectDataSource1.UpdateMethod = "Update";
ObjectDataSource1.SelectCountMethod = "GetCustomersCount";
ObjectDataSource1.MaximumRowsParameterName = "maximumRows";
ObjectDataSource1.StartRowIndexParameterName = "startRowIndex";
}
在DAL的某个地方:
public static List<Customer> GetCustomers(int maximumRows, int startRowIndex)
{
try {
... some select to database here...
}
catch (Exception ex)
{
Utils.LogError(ex);
throw ex;
}
}
现在让我们假设GetCustomers出于某种原因抛出异常。我怎么能抓住这个例外并处理它?我知道我可以使用Application_Error,但我想在我的页面上以某种方式捕获此异常并向用户显示一些友好消息。这可能吗?
由于
答案 0 :(得分:3)
您可以尝试处理相关的ObjectDataSource
事件。
在您的示例中,Selected
事件,但您也会以相同的方式处理Inserted
,Updated
和Deleted
个事件。
事件提供ObjectDataSourceStatusEventArgs
,其Exception
和属性ExceptionHandled
可以设置为表示您已处理异常(例如,显示错误消息)。
MSDN中有一些示例。