2

非常に複雑なルーティング (50 以上のルート) を持つ MVC アプリケーションがあり、その多くにはさまざまなルート制約があります。

例えば:

/{optional section}/{optional section}/{optional section}/{optional section}/?p1=&p2=....

これは複雑なカスタム モデル バインダーによって取得され、ルート データが約 50 のフィールドと複雑なサブオブジェクトを持つ複雑なオブジェクトに変換されます。

プログラムで URL を MVC ルーティング システムに渡して、モデルにバインドされたオブジェクトを吐き出す方法はありますか (HTTP 経由で渡されたときに標準のアクション メソッドが行うように)。

乾杯。

4

1 に答える 1

1

RouteDebugger のファイルの 1 つのソース コードはこちらです。その中には、ルート リストを取得し、それらを繰り返し処理し、特定の URL に一致するものを特定するメソッドがあります。この例を使用して、問題の少なくとも一部を解決できるはずです。つまり、使用するルート定義を見つけます。また、ルーティング システムで使用されるクラスを特定できる場合もあります。これにより、モデル バインディングを行う方法が得られる可能性があります。

于 2012-09-19T04:47:57.787 に答える