ASP.NET MVC路由问题?

时间:2009-10-22 20:21:10

标签: asp.net-mvc routing

在我的网页刷新后,我不断收到这样的错误。

无法找到路径'/S43G/S4_Manager/WebResource.axd'的控制器,或者它没有实现IController。

但是我的硬盘驱动器上不存在任何文件的错误。无论延伸 (.png,.css等)

我已经尝试了以下所有方法来修复它,我很难过。

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute( "{resource}.axd" );
routes.IgnoreRoute( "WebResource.axd" );

routes.MapRoute(
"Default",                                              // Route name
"{controller}/{action}/{id}",                           // URL with parameters
new { controller = "Home", action = "Index", id = "" },  // Parameter defaults
new { controller = @"[^\.]*" }
            );

我需要在路由中添加任何想法以防止它每次都抛出异常 文件不存在。

禁止那些我如何修复WebResoruce.axd问题,因为WebResoruce.axd不应该存在。

谢谢,

埃里克=

1 个答案:

答案 0 :(得分:0)

我认为我的回答here为您的问题提供了解决方案,只需匹配所有网址并使用约束来检查文件类型是否为.axd。

然后您需要的是以下内容来处理所有其他MapRoutes()之后的404请求:

 routes.MapRoute(
           "Error404CatchAll", // Route name  
           "{*url}", // URL with parameters
           new { controller = "Error", action = "Http404" } // Parameter defaults
           );