相关疑难解决方法(0)

ASP.NET MVC 3:RouteExistingFiles = true似乎没有任何效果

我试图了解RouteExistingFiles的工作原理.所以我创建了一个新的MVC 3互联网项目(MVC 4的行为方式相同),并将HTMLPage.html文件放到我项目的Content文件夹中.现在我去了Global.Asax文件并编辑了Re​​gisterRoutes函数,它看起来像这样:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.RouteExistingFiles = true; //Look for routes before looking if a static file exists

    routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new {controller = "Home", action = "Index", id = UrlParameter.Optional} // Parameter defaults
            );
    }
Run Code Online (Sandbox Code Playgroud)

现在,当我请求本地主机时,它应该给我一个错误:XXXX/Content/HTMLPage.html,因为没有"内容"控制器,请求肯定会达到默认模式.但相反,我正在看我的HTMLPage.我在这做错了什么?

更新:我想我必须放弃.即使我正在添加像这样的路线:

routes.MapRoute("", "Content/{*anything}", new {controller = "Home", action = "Index"});
Run Code Online (Sandbox Code Playgroud)

它仍然显示HTMLPage的内容.当我请求像〜/ Content/HTMLPage这样的URL时,我按预期获得了索引页面,但是当我添加.html或.txt这样的文件扩展时,会显示内容(如果文件不存在则会出现404错误) .如果有人可以在VS2012中查看,请告诉我你得到的结果.谢谢.

asp.net-mvc asp.net-mvc-routing

11
推荐指数
3
解决办法
1万
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-routing ×1