代码之家  ›  专栏  ›  技术社区  ›  Sumrak

从ASP.NET页面代码隐藏以404错误响应

  •  6
  • Sumrak  · 技术社区  · 16 年前

    我有一个场景 serving a file 来自codebehind。

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

    我怎样才能从codebehind做到这一点?这是显示用户没有可用文件的正确操作过程吗?

    3 回复  |  直到 16 年前
        1
  •  10
  •   Doctor Jones    16 年前

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

    Page.Response.StatusCode = 404
    

    至于它是否是“正确的操作”的问题,我想说,这取决于如何访问页面。如果你要以编程方式访问它,那么是的,我会使用404。但是,如果它将是面向用户的系统,那么我将使用某种类型的自定义页面。像代码和人类这样的程序喜欢更容易理解的东西:—)

        2
  •  6
  •   SLaks    16 年前
    throw new HttpException(404, "File not found");
    
        3
  •  0
  •   Russ Cam    16 年前

    我更倾向于将它们重定向到一个定制的错误页面,该页面清楚地表明无法以Web应用程序的其他样式找到该文件。

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

    <customErrors mode="On">
        <error statusCode="404" redirect="FileNotFound.aspx"/>
    </customErrors> 
    
    推荐文章