Как установить сообщение об ошибке от EditorPart, когда ApplyChanges возвращает false? - PullRequest
1 голос
/ 27 мая 2010

Я занимаюсь разработкой пользовательской веб-части ASP.Net с использованием WebPartManager и также создаю пользовательскую версию 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 Ответ

4 голосов
/ 28 мая 2010

Я нашел одно решение в социальной сети 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);
}
...