如何使用ViewBag将数据传递到_Layout.cshtml以显示菜单旁边?

时间:2016-01-04 06:48:57

标签: asp.net-mvc-4 razor

我需要在ASP.NET MVC中将List传递给_LayOut.Cshml。让我们说,我想在Login旁边显示城市下拉列表。它将适用于所有观点。

我知道很少的选项,比如创建基本控制器类,Action过滤器

但是无法让它发挥作用。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

您应该使用ViewComponent来执行此功能。视图组件可以从数据源加载列表,然后绑定到视图组件的Default.cshtml中的强类型模型。

然后在你的_Layout.cshtml文件中,你只需像这样调用ViewComponent:

@await Component.InvokeAsync("CityList", new { state= "MA" })

您可以在此处详细了解View Components: http://www.davepaquette.com/archive/2016/01/02/goodbye-child-actions-hello-view-components.aspx