asp.net-mvc-3 – 返回404错误ASP.NET MVC 3
我已经尝试了以下2件事情让一个页面返回404错误:
public ActionResult Index() { return new HttpStatusCodeResult(404); } public ActionResult NotFound() { return HttpNotFound(); } 但它们都只是渲染一个空白页。如何手动从ASP.NET MVC 3中返回404错误? 解决方法
如果使用fiddler检查响应,我相信你会发现空白页面实际上返回了404状态码。问题是没有视图正在渲染,因此空白页。
你可以得到一个实际的视图显示,而不是通过添加一个customErrors元素到web.config中,当一个特定的状态代码发生时,你可以像处理任何url一样,将用户重定向到一个特定的url。下面是一个步骤: 首先抛出HttpException适用。当实例化异常时,请确保使用一个重载,它将http状态代码作为参数,如下所示。 throw new HttpException(404,"NotFound"); 然后在web.config文件中添加一个自定义错误处理程序,以便您可以确定在发生上述异常时应呈现的视图。下面是一个例子: <configuration> <system.web> <customErrors mode="On"> <error statusCode="404" redirect="~/404"/> </customErrors> </system.web> </configuration> 现在在Global.asax中添加一个路由条目,该路由条目将处理网址“404”,它会将请求传递到控制器的操作,该操作会显示404页面的视图。 Global.asax routes.MapRoute( "404","404",new { controller = "Commons",action = "HttpStatus404" } ); CommonsController public ActionResult HttpStatus404() { return View(); } 剩下的就是为上面的动作添加一个视图。 有一个警告与上述方法:根据书“Pro ASP.NET 4在C#2010”(Apress)使用customErrors是过时的,如果你使用IIS 7.相反,你应该使用httpErrors部分。这是一本书的引语:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – FormsAuthentication.RedirectFromLoginPag
- asp.net-mvc – POST后重定向不会更改URL
- asp.net-mvc – ASP.NET MVC检查用户是否属于[x]组
- ASP.NET MVC – 开始的原因
- ASP.NET增删改
- MVC 文件夹
- asp.net-mvc – 如何在我的项目中实现强大的每个请求模式,同
- asp.net-mvc – 重定向到不同的控制器
- asp.net – context.Response.Charset = Encoding.UTF8.ToS
- asp.net-mvc – 如何让HTML DropDownListFor回发?
- asp.net – 解析美国邮政地址的免费API?
- asp.net-mvc – HttpResponseMessage内容不会显示
- ASP.NET CheckBoxList DataBinding问题
- asp.net-mvc-2 – ASP.NET MVC路由和URL.Action
- asp.net-mvc – 编译错误“无法在Web部署项目中加
- asp.net-mvc – 什么是FTP部署asp.net mvc网站的
- ASP.NET身份两个因素不起作用 – Cookie问题?
- asp.net – 报表查看器控件(Web)显示空白报告
- asp.net-mvc – 旧版PHP URL不会在MVC中调用自定
- asp.net-mvc-3 – 在ASP.NET MVC3中混合基本身份