我剛剛學習如何使用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