首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET MVC:如何在返回状态码404的同时提供内容?

ASP.NET MVC:如何在返回状态码404的同时提供内容?
EN

Stack Overflow用户
提问于 2010-03-31 02:24:06
回答 2查看 4.4K关注 0票数 19

可能重复:

How to configure IIS to serve my 404 response with my custom content?

我想在我的ASP.NET应用程序中提供一个用户友好的"not found“页面,同时提供一个404状态代码。(基于this answer)

我已经有了如何捕获无效路由的机制,并且自定义404页面由我的ErrorController/Handle404操作提供服务。

我当前的Handle404实现

代码语言:javascript
复制
    public ActionResult Handle404()
    {
        Response.StatusCode = 404;
        return View("NotFound");
    }

目前,IIS将页面作为404 - File or directory not found. The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.提供(标准IIS页面,而不是我的用户友好内容)

如何在Handle404操作提供的结果中包含404状态代码,同时仍然提供内容?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-31 18:29:48

设置

代码语言:javascript
复制
 Response.TrySkipIisCustomErrors = true; 

成功了。

票数 16
EN

Stack Overflow用户

发布于 2010-03-31 03:49:01

你已经在做正确的事情了。你可以看看Fiddler来证实这一点。

但是,不能保证浏览器会认可您的内容。Wikipedia notes

但是,

Internet Explorer ( Internet Explorer7之前的版本)不会显示自定义页面,除非它们大于512字节,而是选择显示一个“友好”的错误页面。Google Chrome包括类似的功能,如果页面大小低于512字节,则404将替换为Google算法生成的替代建议。

为了得到不同浏览器实际选择显示的页面,可能需要对视图进行一些反复的尝试和调整。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2547582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档