する質問をすることでしか得られない、回答やアドバイスがある。Windows10でASP.NETのアプリケーションを開発しています。Communityを使っています。前提・実現したいこと部分ビューを使う場合の設計方針(ファイル構成)について教えてください。MVCでは、Model-View-Controllerの構成でプロジェクトを作ります。現在のプロジェクトは、すでに動いているもので、この大原則に微妙に当てはまらない構造になっています。いま困っているのは、部分ビューのなかで条件分岐するときに、あるいは条件分岐で部分ビューを表示するときに、その条件分岐をどのControllerやViewに書けばよいのか、ということです。ファイルの構造は、Model/User.csView/Share/_Main.cshtmlView/Share/_LeftMenu_Admin.cshtmlView/Share/_LeftMenu_User.cshtmlController/UserController.csです。これで、ログインしたときに_Main.cshtmlのなかで、下記のようにメニューを分岐しています。Adminのときは_LeftMenu_Admin.cshtmlを使い、一般ユーザーの場合は、_LeftMenu_User.cshtmlを使っています。管理者のほうが、メニュー項目が少し多いです。大部分は同じコードです。Q1)この場合、そもそもメニューのファイルを_LeftMenu.cshtmlのひとつに統合して、条件分岐をそのなかのメニュー(ユーザー管理)の表示部分で行えば、もっとすっきりするのではないか、と考えました。4.6.01586です。attachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。件sort評価が高い順sort新着順sort古い順linkcheckベストアンサー+1Q1)有り。Q2)よいと思いますけど、どこが不安要素ですか?良くある部分ビューの使い方だと思います。Q3)Controllerは業務ごとに分かれてるべきだと僕は思っていますよ。今回の画面はログイン及びログイン後のホームページなので、Controllerを切り分ける必要は無いかと。この後機能で、商品一覧とか、企業一覧とか、別の処理というか、カテゴリが分かれるのであればController切り分けたほうがいいとは思いますが。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。11:04ただ情報送信時の情報改竄などで、IsAdminの値を書き換えられると、一般ユーザでもAdminを表示できるようになってしまう可能性があるので、気をつけてください。情報送信時の情報改竄などで、IsAdminの値を書き換えられると、一般ユーザでもAdminを表示できるようになってしまう可能性があるので、気をつけてください。13:41コメントありがとうございます。Qに答えていただけて安心しました。Q2)Controllerで行うべきだとして、不安なのは_LeftController.csがないので、それをつくるときの名前空間を何にするか、とかです。スキャフォールディング機能が動かないので、手で作るので...。Menuなので、Controllerはわけなくてよい、ってことでしょうか。すると、_LeftController.csは作らない、なのでViewで分岐した処理をする、という感じなのでしょうか?なんか外しているのかも。コメントありがとうございます。Qに答えていただけて安心しました。名前空間を何にするか、とかです。スキャフォールディング機能が動かないので、手で作るので...。Menuなので、Controllerはわけなくてよい、ってことでしょうか。なんか外しているのかも。13:48モデルに「人間のオブジェクトや、象のオブジェクト」を分けてつくるように、コントローラーも「何関連の処理をするコントローラ、あれの処理をするコントローラー」とカテゴリで分けれれば分かりやすいコードになるのです。コントローラーも「何関連の処理をするコントローラ、あれの処理をするコントローラー」とカテゴリで分けれれば分かりやすいコードになるのです。WebアプリケーションのViewとControllerの関係を知りたいです。MVCでModelにAnnotationをつけたい。MVCのModelについて知識を深めたいです。頂いたご意見への回答は行っておりません。