我想在布局的共享视图中使用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
你不能,你需要将它们添加到正在生成视图的控制器中。 –