1

メニュー項目のリストを取得し、そこからHTMLを作成する拡張メソッドを使用したレイアウトがあります。コントローラーのアクションでは、次のようになります。

public ActionResult Article(string rk)
        {
            Viewbag.menuItems = _menu.MenuItems("00");
            ..
            return View(vm);
        }

私はこれを多くの行動で繰り返しました。次に、_layoutに次のように表示されます。

Html.NavLinks(ViewBag.menuItems)

ビューに必要なものを提供することになっていることはわかっていますが、この場合、ビューがアクションから部分的な詳細を取得した方がよいでしょうか。データを必要とするレイアウトが1つしかないため、これを求めています。20以上のアクションでデータを取得してビューに送信するよりも、そこでコーディングする方がよいと思いました。

レイアウトからプルした場合、MVCはアクションの結果をキャッシュしますか?

アクションから結果を引き出す方が優れている場合、どのように正確にそれを行うことができますか?

4

1 に答える 1

2

レイアウトからプルした場合、MVCはアクションの結果をキャッシュしますか?

アクションnoの結果をキャッシュするのではなく、すべてのリクエストで結果を取得します。

アクションから結果を引き出す方が優れている場合、どのように正確にそれを行うことができますか?

「アクションからプルする」のではなく、コントローラーから送り返すモデルに配置するだけで、ビューで使用できます。

于 2012-05-17T16:42:57.327 に答える