1. ホーム
  2. asp.net

[解決済み】ASP.NET MVCで別のコントローラからビューを表示する

2022-04-05 10:27:23

質問

別のコントローラからビューを表示することは可能ですか?

例えば CategoriesControllerCategory/NotFound.aspx を表示します。ビューの中で CategoriesController であれば、簡単に View("NotFound") .

今、私は ProductsController と、商品を追加するためのアクションとビューがあります。しかし、このアクションは、製品を追加するためのカテゴリを持っている必要があります。例えば Products/Add/?catid=10 .

をベースにしたカテゴリーを見つけることができない場合。 catid を表示させたい。 NotFound ビューを作成するのではなく、Categories コントローラから CategoryNotFound ビューを作成します。

これは可能なのでしょうか、それとも私が間違った方法で物事を構成しているのでしょうか?また、このようなことをする良い方法はありますか?

どのように解決するのですか?

はい、デフォルトでは、ASP.NET MVCは、最初に \Views\[Controller_Dir]\ しかしその後、ビューが見つからなければ \Views\Shared .

共有ディレクトリは、特に複数のコントローラでViewを共有するために存在します。Shared サブディレクトリに View を追加するだけで、すぐに使用できます。

もし return View("~/Views/Wherever/SomeDir/MyView.aspx") 好きなViewを返せます。