Member 12757695 Ответов: 2

Сообщения об ошибках Http 404 в ASP.NET до диез


Мои проекты веб-сайта показывают сообщение об ошибке http 404. Я просто разрабатываю логику связи базового уровня в своем локальном хосте. Я не знаю, где это неправильно. Можете сказать мне, где что-то не так? Я думаю, что это очень простой образец и не должен показывать сообщение об ошибке.


Это мой код на C#.

protected void CHWebsiteLink_Click(object sender, EventArgs e)
    {
        LinkButton LnkB = sender as LinkButton;
        string strLinkButton = string.Empty;
        strLinkButton = LnkB.Text;

        #region Link Logic
        try
        {
            if (strLinkButton == "中文")
            {
                Response.Redirect("~/_form/Default.aspx");
            }
            else if (strLinkButton == "English")
            {
                Response.Redirect("~/_form/frmPage.aspc");
            }
        }
        catch (Exception ex)
        {
            Response.Redirect(ex.Message);
        }
        finally
        {
            System.Threading.Thread.Sleep(2000);
        }
        #endregion
    }


Что я уже пробовал:

Я проверил свой URL-адрес файла aspx, который является правильным.

Bryian Tan

очень вероятно, что запрос попал в блок catch, и он не перенаправляется на страницу (error. aspx или что-то в этом роде), а имеет ex. Message

поймать (исключение бывший)
{
Ответ.Перенаправление (например, сообщение);
}

Member 12757695

Можете сказать мне, почему я не могу добавить бывшее сообщение? Если на моем сайте есть сообщение об ошибке, как показать сообщение об ошибке на сайте?

Karthik_Mahalingam

Всегда использовать  Ответить  кнопка, чтобы отправить комментарии / запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.

Bryian Tan

смотреть ниже.

2 Ответов

Рейтинг:
0

ZurdoDev

Вы можете разрешить отображение сообщения об ошибке на веб-сайте, бросив его или добавив в элемент управления, такой как метка. Однако если вы отладите это, то очень быстро обнаружите проблему.


Рейтинг:
0

Bryian Tan

Я буду рекомендовать это только для целей отладки. Вы можете использовать метод, предложенный @RyanDev или выполните следующие действия. Оператор #if DEBUG...#endif предназначен для того, чтобы убедиться, что сообщение об ошибке будет отображаться только в режим отладки.

catch (Exception ex)
            {
                #if DEBUG
                    Response.Write(ex.Message);
                #endif
            }

В рабочей среде вы можете использовать модули регистрации ошибок и обработчики (ELMAH) для регистрации ошибок и перенаправления запроса на общую страницу ошибок.
ELMAH: модули и обработчики регистрации ошибок[^][^]

Или просто перенаправьте любую ошибку на общую страницу ошибок, вы же не хотите, чтобы какая-либо информация просочилась к противнику.
Отображение пользовательской страницы ошибок (C#) | Microsoft Docs[^]