当ApplyChanges返回false时,如何从EditorPart设置错误消息?

时间:2010-05-27 13:26:22

标签: c# web-parts

我正在使用WebPartManager开发自定义ASP.Net WebPart,我也在创建自定义EditorPart。对于 EditorPart.ApplyChanges 方法,每当出现错误时,我都会将返回值设置为false

在EditorZone中,我收到一条标准错误消息,指出编辑器发生了一些错误,但我想更改该消息。 那可能吗?有点像...

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

1 个答案:

答案 0 :(得分:4)

我在social msdn找到了一个解决方案,但我不确定它是否正确,因为它没有很好的记录。您必须在PreRender方法中设置错误,如下所示:

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