ViewBag値はレイアウトの共有ビューで使用したいが、別のコントローラから提供しています。特に、主なアクションをレンダリングし、多くのページで使用される(グローバル変数の使用を正当化するためにすべてのページで使用されない)別のコントローラからの変数をいくつか追加したいと思います。共有ビューのViewbag変数_layout
閲覧/共有/ _Layout.cshtml
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css_custom")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
@Html.Action("myAction", "myController")
<p>Value: @ViewBag.testval </p>
@RenderBody()
</body>
</html>
コントローラ/ myController.csレイアウトで
私がアクセスできる唯一のViewbag変数はRenderBodyの行動目標のものです。
あなたがそれらにアクセスすることを期待するだろうか、その後、ビューに値を渡さない場合(何が起こることを期待している)私は理解して –
@StephenMuecke ...しかしViewBagに新しい変数を追加するにはどのように来て別のコントローラから? – Cyr
できません。ビューを生成しているコントローラに追加する必要があります。 –