阻止URL路由发生在某些目录和它包含的任何内容,包括子目录
-
12-12-2019 - |
题
我正在使用URL路由我的应用程序,并希望防止URL路由发生在任何与员工开始的任何事情上/但使用以下代码它不起作用,如何让ASP.NET防止URL路由触摸工作人员目录和它是子狼?
private static void RegisterRoutes(RouteCollection Routes)
{
//URLs to ignore routeing on
RouteTable.Routes.Ignore("staff/");
//Good routes
Routes.MapPageRoute("Reviews", "{Category}/{RouteName}/Reviews.aspx", "~/RouteFiles/Reviews.aspx");
Routes.MapPageRoute("Races", "{Category}/{RouteName}/Races.aspx", "~/RouteFiles/Races.aspx");
Routes.MapPageRoute("SectionHomePage", "{Category}/{RouteName}", "~/RouteFiles/SectionHomePage.aspx");
}
. 解决方案 2
解决方案是制作一个生成的icetagcode条目。
其他提示
如果您使用的是WebForms而不是MVC,我假设,尝试使用 stopRoutingHandler :
routes.Add(new Route("staff/", new StopRoutingHandler()));
.
使用Routes.Ignore
可以在MVC中工作(不确定该),但它不适用于WebForms应用程序。
通过将stopRoutingHandler分配为此路径的默认处理程序,您基本上告诉应用程序所有请求应该由此处理程序处理,这会阻止所有在此目录中路由的尝试都会删除。
不隶属于 StackOverflow