ASP .NET ルーティングに関して、気が遠くなるような問題が発生しています。これが Microsoft コードのバグなのか、それとも使い方が間違っているだけなのかはわかりません。
シナリオは基本的に次のとおりです。
追加したいカスタム ルートがあります。さらに、ASP .NET を登録していますDynamicDataRoute
。カスタム ルートを省略すると、すべての ASP .NET が正常にDynamicDataRoute
動作します。これを my の前に追加すると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 が使用されるのはなぜですか????
私はそれを理解することはできません。