我正在使用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分配为此路径的默认处理程序,您基本上告诉应用程序所有请求应该由此处理程序处理,这会阻止所有在此目录中路由的尝试都会删除。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top