0

ASP.NETMVCアプリケーション用に「Admin」というエリアプロジェクトを作成しました。

これには、ユーザーがページを追加/削除できるサイトの管理セクションのすべてのロジックが含まれます。

上部には、ユーザーが管理できるメニューがあります。(例:「コンテンツ」、「ユーザー」など)

これらのそれぞれについて、コントローラー('ContentController'、'UsersController'など)を作成しています。

さまざまなアプローチがあるように思われるので、ナビゲーションをどのように設定するのか疑問に思っています。

1つのアプローチは、MvcSiteMapを使用することです。これには、「。sitemap」ファイルを作成し、「MvcSiteMapNode」属性を使用してコントローラーのアクションを装飾することが含まれます。

上記の問題は、実装が複雑なことです(ASP.NET MVCでのAreaの動作方法のため、特にAreaプロジェクトでは)。それもやり過ぎのようです。

私は別の方法を考え出しました。それは、各コントローラーを独自の属性で装飾することです。次に、リフレクションを使用してすべてのコントローラーをループし、その属性を持つコントローラーを選択してナビゲーションメニューに追加することにより、ナビゲーションをレンダリングするヘルパーメソッドがあります。

上記の方法についてどう思いますか?これを行うさらに簡単な方法を考えられますか?

4

1 に答える 1

1

だから私はそれを自分のやり方でやった - 各コントローラーの属性、そしてアプリケーションの開始時にすべての属性を読み取り (リフレクションを使用)、それらをメモリに保持する静的メソッド。

これまでのところ、これは完全に機能しており、MvcSiteMap の高度な機能は必要ありません。

于 2009-09-08T02:35:37.890 に答える