Asp.net ObjectDataSource-DeleteMethod/InsertMethod/UpdateMethod中的空页控件

Asp.net ObjectDataSource-DeleteMethod/InsertMethod/UpdateMethod中的空页控件,asp.net,objectdatasource,Asp.net,Objectdatasource,当我试图访问一个控件时,它是空的 <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" ... DeleteMethod="DeleteEntry"> public void DeleteEntry(long entryID) { try { ... Delete ... } catch (Exception ex) { lblErrorMessage.Text = ...

当我试图访问一个控件时,它是空的

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" ... DeleteMethod="DeleteEntry">
public void DeleteEntry(long entryID)
{

  try 
  {
     ... Delete ...
  }
  catch (Exception ex)
  {
     lblErrorMessage.Text = ... => lblErrorMessage is NULL!
  }
}

公共void DeleteEntry(长entryID)
{
尝试
{
…删除。。。
}
捕获(例外情况除外)
{
lblErrorMessage.Text=…=>lblErrorMessage为空!
}
}
我无法访问页面控件。
向用户返回错误消息的另一种方法是什么?

在表单代码后面,您可以在此处捕获错误。我创建了一个Exception对象的子类并抛出它,这样我就知道我捕获了什么

页面代码:

protected void ObjectDataSource1_Deleted(object sender, ObjectDataSourceStatusEventArgs e)
{
    if (e.Exception != null)
    {
        if (e.Exception.InnerException is MyException)
        {
            lblErrorMessage.Text = e.Exception.InnerException.Message;
            e.ExceptionHandled = true;
        }
    }
}
目标代码:

try
{
    // Whatever
}
catch (Exception ex)
{
    throw new MyException();
}