Сообщение об ошибке при использовании LinqDataSource в веб-формах - PullRequest
0 голосов
/ 24 декабря 2010

Платформа кодирования: ASP.NET 4.0

Я связываю GridView с LinqDataSource с включенной функцией автоматического удаления.
GridView привязан к таблице продуктов.
У меня есть таблица продуктов и таблица категорий с ассоциацией по CategoryID.
Если я пытаюсь удалить категорию, указанную в таблице продуктов, я не могу этого сделать.
Это полностью приемлемо, но я хочу, чтобы конечный пользователь был уведомлен с некоторым сообщением об ошибке.
Где поймать это сообщение об ошибке?

Ответы [ 2 ]

0 голосов
/ 28 декабря 2010

Завершено с использованием события OnDeleting LinqDataSource

    protected void LinqDataSource1_Deleting(object sender, LinqDataSourceDeleteEventArgs e)
    {
        try
        {
            Categories category = (Categories)e.OriginalObject;
            if (helper.IsCategoryPresentInProductsTable(category.CategoryID))
            {
                e.Cancel = true;
                StatusLabel.Text = String.Format("{0} is referred in the products table. Delete aborted!",
                    category.CategoryName);
                StatusLabel.Visible = true;
            }
        }
        catch (Exception err)
        {
            Elmah.ErrorSignal.FromCurrentContext().Raise(err);
        }
    }
0 голосов
/ 24 декабря 2010

Поместите datacontext.submitchange () в try cacth, как показано ниже

попытка { datacontext.submitchange (); } ловить() {

}

...