asp.net-mvc – 抛出一个404像StackOverflow的,没有重定向,当使
发布时间:2020-12-15 22:43:40 所属栏目:asp.Net 来源:网络整理
导读:我发现在这里发布了另一个问题,提供了我的问题的第一部分的解决方案,即如何在ASP.NET MVC中生成404页面,而不重定向到另一个页面(因此最初请求的URL保留在地址栏中). ASP.NET MVC – How to throw a 404 page similar to that on StackOverflow protected voi
我发现在这里发布了另一个问题,提供了我的问题的第一部分的解决方案,即如何在ASP.NET MVC中生成404页面,而不重定向到另一个页面(因此最初请求的URL保留在地址栏中).
ASP.NET MVC – How to throw a 404 page similar to that on StackOverflow protected void Application_Error(object sender,EventArgs e) { var exception = Server.GetLastError(); Response.Clear(); var httpException = exception as HttpException; var routeData = new RouteData(); routeData.Values.Add("controller","Error"); if (httpException != null) { routeData.Values.Add("action",httpException.GetHttpCode() == 404 ? "NotFound" : "Unknown"); // clear the error,otherwise,we will always get the default error page. Server.ClearError(); // call the controller with the route IController errorController = new ErrorController(); errorController.Execute(new RequestContext(new HttpContextWrapper(Context),routeData)); } } 如果我不使用IOCControllerFactory,404的一些事情对我来说可以正常工作,但是一旦我使用工厂,global.asax中的错误代码就不会被使用,而是得到以下错误:
如何解决这个问题,而不是摆脱我的控制器,并为每个控制器创建一个无参数的构造函数? 解决方法
ASP.NET
can do这个OOTB(从3.5开始).
在< CustomErrors>元素add:redirectMode = ResponseRewrite 更新 我发错了代码.它是处理这个的IIS 7. <system.webServer> <httpErrors errorMode="Custom" existingResponse="Replace"> <remove statusCode="404" /> <error statusCode="404" path="/home/notfound" responseMode="ExecuteURL" /> </httpErrors> <system.webServer> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 基于角色的模型列表授权
- HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您
- asp.net-mvc – 朋友列表与chatjs.net SignalR MVC聊天
- asp.net-core – 修改中间件响应
- ASP.NET AJAX Call Web Service , Return JSON Format Stri
- ASP.NET MVC和WCF
- ASP.NET(MVC)路由国际化
- asp.net-mvc-2 – ASP.NET MVC中的全局动作过滤器
- asp.net-mvc – 用于选择列表的ASP.NET MVC模型与ViewData
- asp.net – 什么是部分回发?
推荐文章
站长推荐
热点阅读