为了账号安全,请及时绑定邮箱和手机立即绑定

将数据传递到所有页面通用的布局

将数据传递到所有页面通用的布局

Smart猫小萌 2019-08-12 09:59:32
将数据传递到所有页面通用的布局我有一个有布局页面的网站。但是,此布局页面包含所有页面模型必须提供的数据,例如页面标题,页面名称以及我们实际执行某些操作的HTML帮助程序所在的位置。每个页面都有自己的视图模型属性。我怎样才能做到这一点?键入布局似乎是一个坏主意但我如何通过这些信息呢?
查看完整描述

3 回答

?
梦里花落0921

TA贡献1772条经验 获得超5个赞

我在布局中使用了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在该局部视图中使用模型中的数据。


查看完整回答
反对 回复 2019-08-12
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

另一种选择是创建一个单独的LayoutModel类,其中包含布局中需要的所有属性,然后将此类的实例填充到ViewBag中。我使用Controller.OnActionExecuting方法来填充它。然后,在布局开始时,您可以从ViewBag中拉回此对象并继续访问此强类型对象。


查看完整回答
反对 回复 2019-08-12
  • 3 回答
  • 0 关注
  • 398 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信