asp.net MVC 找不到Action 时的处理方法(转)

您当前的位置:首页 > 技术分享 > 技术分享网站首页技术分享

asp.net MVC 找不到Action 时的处理方法

发布时间:2014-12-1 11:38:00编辑:圆圆人气:170

 

 

如果ActionInvoker 找不到对应的Action,默认会运行System.Web.Mvc.Controller 类别的HandleUnknownAction 方法,在System.web.Mvc.Controller 类别里HandleUnknownAction 方法默认会响应404找不到资源的错误消息,

   

这里只需要重写一个HandleUnKonwAction 方法就可以了,方法如下

 

protected override void HandleUnknownAction(string actionName)
{
  Response.Redirect("~/LoginV2/");

}

   在ASP.NET MVC 项目中,所有的Countroller默认都是继承自System.web.Mvc.Countroller 类别,由于在System.Web.MVC.Countroller 类别中的 HandleUnKonwAction 方法被标注为“virtual”,代表方法可以被替换(Overrride),因此,可以在项目的Controller 中替换HandleUnknownAction方法,既可以自定义当mvcHandle 找不到Action时处理方法,不过需要注意一些陷阱,如果是直接参考MSDN 上的演示程序的话,会有一些潜在 风险,例如,HandleUnKonwAction 不会区分动作Action 方法的httpget http post

出处:http://www.aicoffees.com/itshare/412011138.html

参考:http://group.cnblogs.com/topic/33689.html

参考:http://stackoverflow.com/questions/1745182/intermittent-asp-net-mvc-exception-a-public-action-method-abc-could-not-be-fou

posted @ 2015-06-30 09:50  邹邹  Views(995)  Comments(0)    收藏  举报