我对 ASP .NET 路由有一个令人震惊的问题。我不知道这是否是 Microsoft 代码中的错误,或者我只是使用错误。
场景基本上是这样的:
我有一条要添加的自定义路线。此外,我正在注册 ASP .NET DynamicDataRoute
。如果我省略了自定义路由,所有 ASP .NET 都DynamicDataRoute
可以正常工作。一旦我在我的之前添加这个DynamicDataRoute
:
routes.Add(new Route("IgnoreDirectory/{*pathInfo}"), new StopRoutingHandler()));
DynamicData 生成的所有 DynamicHyperlinks 都是使用错误的根 url 生成的,如下所示:
http://localhost/IgnoreDirectory/MyTable/List
应该是(直到我添加了我的自定义路线)
http://localhost/MyDynamicData/MyTable/List
奇怪的是,我正在为完全不同的路径添加我的 DynamicDataRoute:
routes.Add(new DynamicDataRoute("MyDynamicData/{{table}}/{{action}}")
{
Constraints = new RouteValueDictionary(new { action = "List|Details|Edit|Insert" }),
Model = model
});
为什么为 IgnoreDirectory 添加路由会导致我的 DynamicData 路由使用 IgnoreDirectory 的基本 url??
我想不通。