我有一个绑定到实体数据源的网格视图。我使用从工具箱中的 asp.net 控件拖放并使用实体数据模型创建了它。我在代码隐藏中几乎没有输入。出于测试目的,我编辑了 gridview 并添加了无效的数据。然后我单击更新以导致异常。
所以我的问题是我想尝试在我自己的错误处理程序中捕获异常,但我不知道在哪里或如何做到这一点,因为我不确定我应该关注哪个事件。我只想知道从哪里开始。
非常感谢
我有一个绑定到实体数据源的网格视图。我使用从工具箱中的 asp.net 控件拖放并使用实体数据模型创建了它。我在代码隐藏中几乎没有输入。出于测试目的,我编辑了 gridview 并添加了无效的数据。然后我单击更新以导致异常。
所以我的问题是我想尝试在我自己的错误处理程序中捕获异常,但我不知道在哪里或如何做到这一点,因为我不确定我应该关注哪个事件。我只想知道从哪里开始。
非常感谢
您可以在 EntityDataSource 的 OnUpdated 事件中捕获异常:
protected void EntityDataSource1_OnUpdated(object sender, EntityDataSourceChangedEventArgs e)
{
if (e.Exception != null)
{
// handle here
e.ExceptionHandled = true;
}
}
}
您可以在 global.asax 中捕获异常,但它会显示一般错误。
您将无法给出表单是使用拖放、声明性语法设计的。您最好在将用户输入提交到服务器之前对其进行验证。这应该捕获大多数异常。
您的另一个选择是用代码中的代码替换声明性标记,您可以在调用之前捕获异常或调用验证SaveChanges()
;