2012-05-08 6 views
0

私は自分のビューのローカライズ版をクライアントに提供するために、部分ビューとビュー "フィード"を処理できる独自のレイザービューエンジンを実装しています。ViewEngineでのプロセス_Layout.cshtmlのオーバーライド

私はprotected override IView CreateViewを使用して、ビュー選択プロセスを無効にし、言語対応ロジックを挿入します。

私はprotected override IView CreatePartialViewも持っていますが、レンダリングすると思われるビューをロードすると、_Layout.cshtml CreatePartialViewは起動しません。

言語対応の置換を実行するために_layoutページレンダリングを「キャッチ」するために、どのViewEngineメソッドをオーバーライドする必要がありますか?

答えて

0

一つの方法は、このようなレイアウトプロパティを設定することを通じて、言語固有のビューから言語固有のレイアウトを指定するために、次のようになります。それは全体を壊すので、

@{ 
    Layout = "~/Views/Shared/_Layout.french.cshtml"; 
} 

これは "、まだ良い方法ではありませんビュー・エンジン・オーバーライド・コードに依存する「ビュー/言語」リンク・パラダイムを使用します。

しかし、マスタービューの命名規則から離れることができるので、柔軟性があります。

関連する問題