为了在MVC 3 Razor中渲染我的菜单我在主控制器中有一个菜单动作:public ActionResult Menu(){...} 这个动作获取菜单项并使用视图渲染它们。在_Layout中我使用:@ Html.Action(“Menu”,“Home”)来渲染菜单。这工作正常。MVC 3渲染菜单
我的问题是,我想选择当前项目。为此,呈现菜单中项目的每个操作都将添加到ViewBag中所选菜单项。问题是菜单操作中的ViewBag是空的。 这是正确的方法吗?我想要使用控制器呈现菜单+不仅查看视图。我想要这样做是为了避免在视图代码中使用逻辑代码并能够对其进行测试。
你知道更好的方法吗?
如何将数据从_Layout.cshtml传递到使用@ html.Action呈现的操作?
这种方法不起作用。控制器是“家”,行动是“菜单”...它看起来像Html.Action覆盖路线数据项目 –
我想不出你需要从一个行动方法调用此的原因。为什么不使用RenderPartial并将其连线或传入模型对象? – hunter