0

私はいくつかの領域に分割したかなり大きな mvc プロジェクトを持っています。追加領域を使用して領域を作成し、メインのコントローラーとビューのフォルダーからいくつかのコントローラーとビューを切り取り、領域のフォルダーに貼り付けました。

エリア内のコントローラーからアクションが実行されると、ビューを返そうとしてから次のエラーが返されるまで、これらは正常に実行されているように見えます。

The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Home/Index.aspx
~/Views/Home/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/Home/Index.cshtml
~/Views/Home/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml

新しいテスト領域を設定し、コントローラーを作成して表示すると、これは正常に動作するようです。誰かが私が間違っているかもしれないことを知っていますか?私はこれを研究し、1日以上実験してきました.

4

2 に答える 2

2

context.MapRoute(..)がファイルで呼び出されていることを確認AreaRegistration.csしてください。また、Views フォルダーが適切な階層にあることを確認してください。つまり、Views => ControllerName

しかし、最も重要なことは、コピーしたコントローラーに適切な名前空間があるかどうかを確認することです。

MvcApplication.Areas.AreaName.Controllers

それ以外の

MvcApplication.Controllers
于 2013-07-10T10:40:48.263 に答える
-1

return ビュー ステートメントで、are へのフル パスを指定してみてください。たとえば、

~/Areas/Admin/Views/Category/_CategoryDetails.cshtml

そのアクションに問題のない既定のビューを使用している場合は、それ以外の場合はフル パスを指定する必要があります。

于 2013-07-10T10:30:27.457 に答える