2013-08-22 3 views
0

Lorsque j'essaie d'accéder à un contrôle, il est NULL.ObjectDataSource - Contrôles de page Null dans DeleteMethod/InsertMethod/UpdateMethod

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

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

Je ne peux pas accéder aux contrôles de page. Quel est un autre moyen de renvoyer un message d'erreur à l'utilisateur?

Répondre

1

Sur votre code de formulaire derrière vous pouvez attraper l'erreur ici. J'ai créé une sous-classe de l'objet Exception et je l'ai lancé pour que je sache ce que j'attrape.

Code Page:

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; 
     } 
    } 
} 

Code de l'objet:

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