これを行う方法については何も見つかりませんでした。私は自分の剃刀レイアウトでデータを更新するためにいくつかのコードを実行する必要があります。ASP.NET MVC 3、Razor Layout Controllerのような?
ので
、どのように私はより良い方法でこれを行うだろう...私はViewBagデータをレイアウト設定を使用しているすべてのアクションのコードを実行することにより、これを行うことができ、それは非現実的と思われますか?これを行う方法については何も見つかりませんでした。私は自分の剃刀レイアウトでデータを更新するためにいくつかのコードを実行する必要があります。ASP.NET MVC 3、Razor Layout Controllerのような?
ので
、どのように私はより良い方法でこれを行うだろう...私はViewBagデータをレイアウト設定を使用しているすべてのアクションのコードを実行することにより、これを行うことができ、それは非現実的と思われますか?The answer to this questionは、a global action filterを使用することを提案している。
これはすべてのアクションで実行されるコード(フィルタ)の1つで、これを使用してViewBagのプロパティを設定できます。これらのプロパティは、すべてのビューとレイアウトからアクセスできます。
レイアウトでレンダリングするデータが実際のビューのデータと直交する場合(そうでなければ、部分的なビューを使用する必要があるレイアウトを使用している場合)、概念的に最も健全なメソッドレイアウトにデータをレンダリングするために、子アクション(つまり、Html.Actionを使用)を使用することです。