0

これはかなり新しいものなので、私はそれについての良い参考文献を見つけることができませんでした.

リフレクションを使用して、アプリケーション内のすべてのコントローラーを列挙したいと考えています。これは、リフレクションを使用すると難しくありません。しかし、エリアが整ってから。特定のコントローラが属する領域 (存在する場合) を知るにはどうすればよいですか?

多分私はそれを間違っているかもしれません、多分私は代わりにエリアを列挙する必要があります...それではどうすればいいですか?コントローラーがどのエリアにも属していない場合はどうなりますか? デフォルトのものはありますか?

コントローラーとビューについて詳しく説明している優れた記事がたくさんあります。誰かがエリアに似たものを教えてくれたら、とてもありがたいです。

4

1 に答える 1

1

コントローラーが存在する名前空間を変更してエリアを検出するか、( RouteTable.Routes ) ループからルート データを取得して、データ トークン (別名 {controller} に入れたもの) を一致させようとする必要があります。 /または URL 情報:

ルート情報を取得する方法は次のとおりです。

 foreach (RouteBase routeBase in RouteTable.Routes)
 {
      Route route = routeBase as Route;

      var routeUrl = route.Url;                
 }

Phil Haacks Route Debugger が役に立ちます: http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx

エリアに関する優れた MSDN 記事: http://msdn.microsoft.com/en-us/library/ee461420(VS.100).aspx

トリッキーに聞こえますが、頑張ってください!

于 2009-11-28T04:28:18.773 に答える