我刚刚学习如何使用ASP.NET MVC中的路由,并试图理解IgnoreRoute方法。我想阻止用户访问"Content/{filename}.html"
。我把它作为RegisterRoutes方法中的第一个调用。这里是我的代码:忽略ASP.NET MVC中的路由
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("Content/{filename}.html");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("MyRoute", "{controller}/{action}/{id}/{*catchall}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new { controller = "^.*", action = "^Index$|^About$" },
new[] { "UrlsAndRoutes.AditionalControllers" });
routes.MapRoute("MyRoute2", "{controller}/{action}/{id}/{*catchall}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new { controller = "^.*", action = "^Index$|^About$" },
new[] { "UrlsAndRoutes.Controllers" });
routes.MapRoute("ShopSchema2", "Shop/OldAction", new { controller = "Home", action = "Index" });
routes.MapRoute("ShopSchema", "Shop/{action}", new { controller = "Home" });
routes.MapRoute("", "X{controller}/{action}");
routes.MapRoute(
name: "",
url: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
}
如果我尝试访问本地主机一样的链接:53907 /内容/ Static.html,它不应该让我来显示从到目前为止我所了解的文件,但它确实显示它。
我在做什么错?
和问题是什么? – 2013-03-13 09:11:06
你试过了吗? routes.IgnoreRoute( “内容/ {*} PATHINFO的.html”); – Jon 2013-03-13 09:12:47
如果我试图访问这样的链接:http:// localhost:53907/Content/Static.html它不应该允许我显示目前为止我所了解的文件,但在尝试之后它会显示 – aleczandru 2013-03-13 09:14:10