Как я могу поймать исключение формы ObjectDataSource.Updata () - PullRequest
4 голосов
/ 14 мая 2009

Исключение выдается базой данных, что вызвало конфликт с FOREIGN KEY.

Ответы [ 3 ]

4 голосов
/ 14 мая 2009

посмотрите на события в ObjectDataSource. Должны быть e.Exception и e.Results, которые вы можете запросить об успешности / ошибке вашего обновления.

protected void MyOds_Updated(object sender, ObjectDataSourceStatusEventArgs e)
{
    if (e.Exception != null)
    {
        // handle exception here.
    }
}
3 голосов
/ 27 ноября 2009

Чтобы ObjectDataSource не выбрасывал ваше исключение, вы должны установить флаг ExceptionHandled в True.

protected void MyOds_Updated(object sender, ObjectDataSourceStatusEventArgs e)
{
    if (e.Exception != null)
    {

        //this tells the ObjectDatasource : It's ok, i'm taking care of this
        //and don't rethrow it.
        e.ExceptionHandled = true

        // handle exception here (log/display to user etc ...)
    }
}

Надеюсь, это поможет вам.

Manitra.

0 голосов
/ 01 февраля 2011

, если это не помогает использовать метод обновления вида сетки

If Not e.Exception Is Nothing Then
    e.KeepInEditMode = True
    e.ExceptionHandled = True
    msg("error .", "a", Me.GetType(), ClientScript)
End If
...