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

时间:2013-08-22 17:31:27

标签: asp.net objectdatasource

当我尝试访问控件时,它为NULL。

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

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

我无法访问页面控件。 将错误消息返回给用户的另一种方法是什么?

1 个答案:

答案 0 :(得分:1)

在您的表单代码后面,您可以在此处捕获错误。我创建了一个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();
}