回应来自asp.net页面代码隐藏的404错误

时间:2009-07-07 21:40:23

标签: asp.net

我有一个场景,我从代码隐藏中serving a file

哪个文件取决于请求。在某些情况下,没有文件可供使用,我想将404返回浏览器。

我怎么能从代码隐藏中做到这一点?这是向用户显示没有可用文件的正确行动方案吗?

3 个答案:

答案 0 :(得分:10)

您可以使用Response.StatusCode属性返回404:

Page.Response.StatusCode = 404

关于这是否是“正确的事情”的问题我会说这取决于如何访问Page。如果您要以编程方式访问它,那么是的,我会选择404.如果它将成为面向用户的系统,那么我将使用某种自定义页面。像代码和人类这样的程序比较容易理解: - )

答案 1 :(得分:6)

throw new HttpException(404, "File not found");

答案 2 :(得分:0)

我更倾向于将它们重定向到自定义错误页面,该页面以Web应用程序其余部分的样式清楚地表明找不到该文件。

您可以指定如何处理web.config中的某些错误

<customErrors mode="On">
    <error statusCode="404" redirect="FileNotFound.aspx"/>
</customErrors>