将数据传递到所有页面通用的布局我有一个有布局页面的网站。但是,此布局页面包含所有页面模型必须提供的数据,例如页面标题,页面名称以及我们实际执行某些操作的HTML帮助程序所在的位置。每个页面都有自己的视图模型属性。我怎样才能做到这一点?键入布局似乎是一个坏主意但我如何通过这些信息呢?
3 回答
梦里花落0921
TA贡献1772条经验 获得超6个赞
我在布局中使用了RenderAction html helper for razor。
@{ Html.RenderAction("Action", "Controller"); }
我需要它用于简单的字符串。所以我的动作返回字符串并在视图中轻松写下来。但是如果您需要复杂的数据,可以返回PartialViewResult和model。
public PartialViewResult Action() { var model = someList; return PartialView("~/Views/Shared/_maPartialView.cshtml", model); }
您只需要将您创建的部分视图“_maPartialView.cshtml”的模型开头
@model List<WhatEverYourObjeIs>
然后,您可以使用html在该局部视图中使用模型中的数据。
神不在的星期二
TA贡献1963条经验 获得超6个赞
另一种选择是创建一个单独的LayoutModel类,其中包含布局中需要的所有属性,然后将此类的实例填充到ViewBag中。我使用Controller.OnActionExecuting方法来填充它。然后,在布局开始时,您可以从ViewBag中拉回此对象并继续访问此强类型对象。
- 3 回答
- 0 关注
- 410 浏览
添加回答
举报
0/150
提交
取消