asp.net의 mvc4 사용자 정의 404 페이지에 대한 심층 분석(공유)

奋力向前
풀어 주다: 2021-08-27 11:11:54
앞으로
2890명이 탐색했습니다.

이전 기사 "JS에서 ES6 프록시 프록시 사용을 설명하는 기사(코드 공유) "에서는 JS에서 ES6 프록시 프록시를 사용하는 방법에 대해 배웠습니다. 다음 기사는 asp.net의 mvc4 사용자 정의 404 페이지를 이해하는 데 도움이 될 것입니다. 이는 특정 참조 값을 가지고 있으므로 도움이 필요할 수 있습니다.

asp.net의 mvc4 사용자 정의 404 페이지에 대한 심층 분석(공유)

물론 404를 정의하는 방법에는 여러 가지가 있습니다. 다른 방법은 다른 형태를 나타내며 사용자 경험도 다릅니다. 다음은 두 가지

방법입니다 1

1 web.config에서 <system.web> 섹션을 찾아 클릭하여 404를 활성화합니다. >구성 web.config中找到节<system.web>点中启用404配置 

<customErrors defaultRedirect="~/Error" mode="On" redirectMode="ResponseRedirect">
<error redirect="/Error" statusCode="404" />
</customErrors>
로그인 후 복사

2、定义一个controllersError(这个随你) ,在action中如下定义

public ActionResult Index()
{
    Response.Status = "404 Not Found";
    Response.StatusCode = 404;
    return View();
}
로그인 후 복사

这种方式默认为给你的url加上?aspxerrorpath=/比如:http://localhost/Error??aspxerrorpath=/123456故不推荐试用

方法二:

打开Global.asax文件定义错误转向地址(controller/action)

protected void Application_Error(object sender, EventArgs e)
{
    Exception ex = Server.GetLastError();
    if (ex is HttpException && ((HttpException)ex).GetHttpCode() == 404)
    {
        Response.Redirect("/Error");
    }
}
로그인 후 복사

注意事项: 在开发时候,我们经常会在Global.asax中的Application_Error方法中使用Response.Redirect方法跳转到自定义错误页,但有时候(特别是当站点部署到 IIS 后)Application_Error方法中使用Response.Redirect方法会失效,当发生异常错误后还是显示的默认错误黄页。

其根本原因是尽管我们在Application_Error方法中使用了Response.Redirect方法,但是当系统发生异常错误后Asp.Net认为异常并没有被处理,所以不会跳转到Application_Error方法中Response.Redirect指向的页面,最终还是会跳转到默认错误黄页。

解决这个问题的办法很简单就是在Application_Error方法中使用Response.Redirect做跳转前,先调用Server.ClearError()方法告诉系统发生的异常错误已经被处理了,这样再调用Response.Redirectrrreee
2. controllersError를 정의하고(이것은 귀하에게 달려 있음) action에서 다음과 같이

rrreee
를 정의합니다. url ?aspxerrorpath=/ 추가 예: http://localhost/Error??aspxerrorpath=/123456 따라서

를 시도하지 않는 것이 좋습니다. 방법 2:

Global.asax 파일을 열고 오류 리디렉션 주소 (controller/action)🎜rrreee🎜🎜를 정의합니다. 참고: 개발 중에는 를 자주 사용합니다. >Global.asax의 <code>Response.Redirect 메서드는 사용자 정의 오류 페이지로 이동하는 데 사용되지만 때로는(특히 사이트가 IIS에 배포된 경우) 응답 >Application_Error 메소드에 사용된 .Redirect 메소드는 유효하지 않습니다. 비정상적인 오류가 발생하면 기본 오류 노란색 페이지가 계속 표시됩니다. 🎜🎜🎜🎜근본적인 이유는 Application_Error 메서드에서 Response.Redirect 메서드를 사용했음에도 불구하고 Asp.Net 시스템에서 예외 오류가 발생한 경우입니다. code>는 예외가 처리되지 않았다고 믿기 때문에 <code>Application_Error 메서드의 Response.Redirect가 가리키는 페이지로 점프하지 않고 결국 점프하게 됩니다. 기본 오류 전화번호부로 이동합니다. 🎜🎜🎜🎜이 문제를 해결하는 간단한 방법은 Server.ClearError()Application_Error 메서드에서 Response.Redirect를 사용하여 점프하는 것입니다. /code> 메서드는 발생한 예외 오류가 처리되었음을 시스템에 알리므로 Response.Redirect 메서드를 다시 호출하면 시스템이 사용자 지정 오류 페이지로 이동합니다. 🎜🎜🎜🎜추천 학습: 🎜asp.net 비디오 튜토리얼🎜🎜

위 내용은 asp.net의 mvc4 사용자 정의 404 페이지에 대한 심층 분석(공유)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:chuchur.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿