ValidateRequest - получение ошибки и отображение на текущей странице

У меня есть приложение asp.net, и я понял, что если я установлю ValidateRequest в falseвсегда отображается стандартная страница ошибок.

Я слышал, что вы можете отобразить пользовательскую страницу ошибки.

Но мне нужно знать , могу ли я отловить ошибку и отобразить ее (после обратной передачи) на текущей странице, которая отображается.

Есть какой-либо способ сделать это?

1 ответ

Решение

Я нашел следующую статью:

http://blogs.msdn.com/b/kaevans/archive/2003/07/07/9791.aspx

Последний пункт статьи ("Переопределение метода OnError") описывает, как отобразить ошибку на текущей странице.

OnError метод должен быть перезаписан и error StatusCode должен быть установлен на 200.

protected override void OnError(EventArgs e)
{
  System.Exception oops = Server.GetLastError();

  if(oops.GetBaseException() is System.Web.HttpRequestValidationException )
  {
    System.Diagnostics.Debug.Assert(false);
    Response.Write(oops.ToString());
    Response.StatusCode = 200;
    Response.End();        
  }       
}
Другие вопросы по тегам