相关疑难解决方法(0)

如何在Asp.Net Mvc 3中显示自定义错误页面?

我希望将所有401错误重定向到自定义错误页面.我最初在web.config中设置了以下条目.

<customErrors defaultRedirect="ErrorPage.aspx" mode="On">
  <error statusCode="401" redirect="~/Views/Shared/AccessDenied.aspx" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)

使用IIS Express时,我收到了IIS Express 401错误页面.

如果我不使用IIS Express,则返回空白页面.使用Google Chrome的"网络"标签检查响应,我看到当页面为空白时,标题中会返回401状态

到目前为止我尝试使用的是这个SO答案中的建议,因为我使用的是IIS Express,但无济于事.我尝试过使用组合<custom errors><httpErrors>没有运气 - 标准错误或空白页仍然显示.

httpErrors部分看起来像这样的基础上,瞬间链接上面的SO问题(我还发现了另一种非常有前途的答案却没有运气-空白响应)

<system.webServer>
  <httpErrors  errorMode="DetailedLocalOnly" existingResponse="PassThrough" >
    <remove statusCode="401"  />
    <error statusCode="401" path="/Views/Shared/AccessDenied.htm" />
  </httpErrors>

 <!-- 
 <httpErrors  errorMode="Custom" 
             existingResponse="PassThrough" 
             defaultResponseMode="ExecuteURL">
      <remove statusCode="401"  />
  <error statusCode="401" path="~/Views/Shared/AccessDenied.htm" 
         responseMode="File" />
 </httpErrors>
 -->
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

我甚至已经修改了applicationhost.config文件,并修改<httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">,以<httpErrors lockAttributes="allowAbsolutePathsWhenDelegated">基于从信息iis.net.在我努力的过程中,我也设法偶然发现了另一个SO问题中描述的这个错误.

如何在Asp.Net Mvc …

error-handling http-error custom-error-pages iis-express asp.net-mvc-3

23
推荐指数
3
解决办法
3万
查看次数