Ear*_*rlz 22 asp.net exception http
我想知道是否可以从页面中抛出404错误(代码隐藏)?或者甚至可能抛出任何其他类型的错误页面,如408(超时)或401(需要验证)?
注意:我不只是想让页面返回404的状态代码,我希望它使用ASP.Net(或我的CustomErrors)404错误页面.
在后面的代码中有类似的东西:
if(id>10){ //if id is greater than 10, then it doesn't exist here
throw 404Error();
}
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 34
您可以抛出HttpException并设置相应的状态代码:
throw new HttpException(404, "Not found");
Run Code Online (Sandbox Code Playgroud)
它还可以与其他状态代码一起使用.只是关于401的评论:你可能知道ASP.NET MVC何时检测到这个代码,它会自动将你重定向到登录页面,获得401状态代码的自定义错误页面可能是一个真正的PITA来实现.
Geo*_*kos 19
一个更好的方法是:
'Throws a 404 Not found:
Response.Clear()
Response.StatusCode = 404
Response.End()
Run Code Online (Sandbox Code Playgroud)
没有必要抛出异常,并且在web.config中使用自定义错误页面时,上述工作要好得多
| 归档时间: |
|
| 查看次数: |
19178 次 |
| 最近记录: |