Доступ к DOM из application_error

У меня есть собственный обработчик ошибок для сайта asp.net.

void Application_Error(object sender, EventArgs e)
{
    // Code that runs when an unhandled error occurs
    //if (System.Configuration.ConfigurationManager.AppSettings["ProductionMode"] == "Yes")
    #if (!DEBUG)
    Server.Transfer("~\\GlobalExceptionHandler.aspx");
    #endif
}

Он работает нормально и при поиске информации об исключениях, потому что это просто зацепит Server.getLastException() и напишите мне на отзыв

Тем не менее, у меня есть некоторые текстовые поля на странице, и я хотел бы отправить значение этих текстовых полей вместе с электронной почтой. Может быть, это не совсем DOM, к которому я ищу доступ, а вместо этих опубликованных переменных.

Я пытался смотреть на HttpContext.Current.Request.Form но он не показал ключей.

Так кто-нибудь знает, как получить доступ к значениям формы при глобальном обнаружении исключения?

1 ответ

Доступ к значениям формы

Для доступа к значениям формы в Global.Application_ErrorВы можете просто использовать HttpContext.Current.Request.Form,

Вот подтверждение концепции, где страница немедленно выдает исключение на post(назад), чтобы попасть в обработчик ошибок приложения:

void Application_Error(object sender, EventArgs e)
{
    var test = HttpContext.Current.Request.Form;
}

Установка точки останова в назначении test, затем переступая через него (с F10), когда он ударил, вы можете увидеть, что test действительно установлен в коллекцию значений формы post(back).

Доступ к значениям контроля обратной передачи

Кроме того, вы можете получить доступ к значениям элемента управления обратной передачей, добавив их в сеанс обратной передачи, например...

// ************code behind
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
    Session["TextBox1"] = TextBox1.Text;
}

... и доступ к сеансу в обработчике ошибок приложения, например:

// ************Global.asax.cs
protected void Application_Error(object sender, EventArgs e)
{
    // Use Session["TextBox1"].
}

Поток CodeVerge говорит, чтобы подходить хорошо - особенно ответ Бенсона Ю.

Другие вопросы по тегам