我有一个场景,我从代码隐藏中serving a file。
哪个文件取决于请求。在某些情况下,没有文件可供使用,我想将404返回浏览器。
我怎么能从代码隐藏中做到这一点?这是向用户显示没有可用文件的正确行动方案吗?
答案 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>