Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 全球asax中的MVC重定向路由在混合站点上不工作_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 3 全球asax中的MVC重定向路由在混合站点上不工作

Asp.net mvc 3 全球asax中的MVC重定向路由在混合站点上不工作,asp.net-mvc-3,Asp.net Mvc 3,我最近将我们的webforms网站重建为一个混合mvc3/webforms网站,新的代码被mvc取代。过去,全局asax文件的应用程序错误方法中有一些代码将用户重定向到404 LifespeakExceptions.Log404(); HttpContext.Current.Server.Transfer("~/404.aspx"); 但是,当我尝试用路由替换它时,它似乎找不到它-例如,我在registermvc3routes文件中尝试了这个 routes.MapRoute( "404", /

我最近将我们的webforms网站重建为一个混合mvc3/webforms网站,新的代码被mvc取代。过去,全局asax文件的应用程序错误方法中有一些代码将用户重定向到404

LifespeakExceptions.Log404();
HttpContext.Current.Server.Transfer("~/404.aspx");
但是,当我尝试用路由替换它时,它似乎找不到它-例如,我在registermvc3routes文件中尝试了这个

routes.MapRoute(
"404", // Route name
"pagenotfound", 
new { controller = "Utilities", action = "Error404Page" }
);
我在全球asax中添加了这个

LifespeakExceptions.Log404();
Response.RedirectToRoute("404");

然而,它似乎找不到这条路线,即使我知道它存在——直接调用它是正确的。这可能是因为它是一个混合站点吗?

您是否有一个名为
UtilitiesController
的控制器,该控制器具有一个名为
Error404Page()
的方法,可以通过
GET
访问该方法?是的--我确保该操作方法工作正常--将其键入正确解析的url栏中。我也尝试过用网站的主页替换路径和操作,看看是否存在错误操作方法特有的问题,但这也没有解决