私はMVCをページを生成するためのメインエンジンとして使用しているCMSを書いています。ViewディレクトリにMVCビューが存在する必要があるのはなぜですか?
私はうまくいっていますが、必要に応じてサイトごと、場合によってはビューごとに独自のカミソリテンプレートを作成する機能が必要でした。
各プロジェクトでは、URLにリンクされた一意のコードが必要です。
各プロジェクトサイトの資産は、プロジェクトに関連する場所に格納されます。
したがって、プロジェクトC0001に関連付けられた資産は、assets\C0001\
に格納され、C0002:assets\C0002\
などに格納されます。
私がやりたかったことは、ちょっとしたことを保つために、assets\[ProjectCode]
にあるプロジェクトに関連付けられたカミソリテンプレートを持たせることでしたが、問題はViewBag not existing in context
についてのエラーです。
だから、これは動作しません:それは外既知のであるので、私は最初のレイアウトは、レンダリングのdoesnt推測してい
Layout = string.Concat("~/Views/Shared/_",ViewBag.ProjectNumber,"Layout.cshtml");
:次のページをレンダリングするよう
Layout = string.Concat("~/assets/",ViewBag.ProjectNumber,"/_Layout.cshtml");
ビューの検索エリア?しかし、私はファイルがどこにあるのかを教えているので、問題は何か分かりません。
例2のコードを使用して喜んで作業していますが、かなりの数のプロジェクトサイトの後に共有ビューディレクトリが非常に忙しくなることを意味する可能性があります。
ViewsがViews
ディレクトリに存在する必要がある理由が存在するかどうかは疑問です。
地域を使用する必要があります。 – SLaks
@marcind:あなたの権利、訂正ありがとう –