2010-05-27 2 views
1

Je développe un composant WebPart ASP.Net personnalisé à l'aide de WebPartManager et je crée également un composant EditorPart personnalisé. Pour sa méthode EditorPart.ApplyChanges, définissez la valeur de retour sur false en cas d'erreur.Comment définir un message d'erreur à partir de EditorPart lorsque ApplyChanges renvoie false?

Dans la zone EditorZone, j'obtiens un message d'erreur standard indiquant qu'une erreur est survenue dans l'éditeur, mais je souhaite modifier ce message. Est-ce possible? Quelque chose comme ...

public override bool ApplyChanges() 
{ 
    try 
    { 
    // save properties 
    return true; 
    } 
    catch(Exception ex) 
    { 
    ErrorMessage = ex.Message; // is there any similar property I can fill? 
    return false; 
    } 
} 

Répondre

4

J'ai trouvé une solution dans social msdn, mais je ne suis pas sûr qu'il est correct car il est pas très bien documenté. Vous devez définir l'erreur dans la méthode PreRender, quelque chose comme ceci:

string _errorMessage; 

public override bool ApplyChanges() 
{ 
try 
{ 
    // save properties 
    return true; 
} 
catch(Exception ex) 
{ 
    _errorMessage = ex.Message; // is there any similar property I can fill? 
    return false; 
} 
} 

protected override OnPreRender(EventArgs e) 
{ 
    if (!string.IsNullOrEmpty(_errorText)) 
    { 
    this.Zone.ErrorText = string.Format("{0}<br />{1}", this.Zone.ErrorText, 
          _errorText); 
    }  
    base.OnPreRender(e); 
} 
Questions connexes