Как создать пользовательскую страницу 404 и отправить сообщение 404? - PullRequest
3 голосов
/ 21 января 2010

Я знаю, как перенаправлять страницы с помощью Rewrite. Но когда есть страница 404, как мне отобразить свою собственную страницу 404 (я знаю, что могу ее переписать) и сказать, что это на самом деле 404, а не просто переписанная страница?

-edit-

Как я могу установить код ошибки вместо того, чтобы спрашивать сервер? если пользователь переходит в / user / invaliduser /, я хотел бы отправить 403 или 404, но мой перезаписавший отправил бы его на действительную страницу для отображения информации о пользователе, поэтому я хотел бы знать, как сказать, что не существует, а не пустые поля стр.

Ответы [ 2 ]

2 голосов
/ 21 января 2010

Чтобы быть более гибким, чем строгий 404.html, следуйте моему примеру. В Global.asax.cs переопределить:

public void Application_Error(Object sender, EventArgs e)
{
        if (HttpContext.Current.Request.IsLocal) return;

        Exception ex = Server.GetLastError();
        HttpException httpEx = ex as HttpException;
        string errorUrl;
        if (httpEx != null && httpEx.GetHttpCode() == 403)
            errorUrl = "~/error/403.aspx";
        else if (httpEx != null && httpEx.GetHttpCode() == 404)
            errorUrl = "~/error/404.aspx";
        else
            errorUrl = "~/error/500.aspx";
        Server.Transfer(errorUrl);
}

Например, мой 404.aspx содержит форму для отправки отзыва, 403.aspx - предоставляет более интересные элементы для пользователя, а 500 отправляет предупреждение администратору.

1 голос
/ 21 января 2010

U может сделать 404.html и перенаправить ошибку 404 в файле web.config в ваш собственный файл

<error statusCode="404" redirect="YOURFILE.htm" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...