我想知道是否可以从一个页面(代码后面)中抛出404错误?或者甚至可以抛出任何其他类型的错误页面,如408(超时)或401(需要验证)?
@H_404_9@解决方法
@H_502_11@
你可以抛出一个
HttpException并设置相应的状态码:
注意:我不想让页面返回状态代码为404,我希望它使用ASP.Net(或我的CustomErrors)404错误页面。
在代码背后有这样的东西:
if(id>10){ //if id is greater than 10,then it doesn't exist here throw 404Error(); }
throw new HttpException(404,"Not found");
它也可以与其他状态代码一起工作。只是关于401的一个意见:你可能知道当ASP.NET MVC检测到这个代码时,它自动将您重定向到登录页面,并获得401状态代码的自定义错误页面可能是一个真正的PITA实现。