加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET MVC 3布局所有子视图中的ViewBag数据

发布时间:2020-12-15 19:44:29 所属栏目:asp.Net 来源:网络整理
导读:我们需要将动态数据传递给我们的布局文件,无论子视图是什么.例如,我们在布局的标题中显示一些用户特定的数据. 我们如何将这些数据传递给布局视图,而不必单独提供它们的动作.我们应该使用自定义控制器,还是有更好的解决方案? 解决方法 我使用的策略是拥有一
我们需要将动态数据传递给我们的布局文件,无论子视图是什么.例如,我们在布局的标题中显示一些用户特定的数据.

我们如何将这些数据传递给布局视图,而不必单独提供它们的动作.我们应该使用自定义控制器,还是有更好的解决方案?

解决方法

我使用的策略是拥有一个基本视图模型,从中可以看出我的所有视图模型.我使用基本控制器,虽然您也可以使用全局过滤器,并覆盖OnActionExecuted.当我检测到返回ViewResult的操作时,我将模型转换为基本视图模型,并从基本控制器设置模型上的公共属性.

全局过滤器和基本控制器之间的选择取决于多种因素.如果它真的适用于所有操作(返回视图结果),并且您不需要注入即可访问某些资源,那么我可能会使用过滤器.如果您需要注入依赖项,或者您有一些控制器将应用数据,而其他控制器将不会被应用(如管理员控制器),那么我将去基地控制器路由.如果您随身携带,您将需要记住从控制器派生.

如果您不想从常见的视图模型派生,您还可以对ViewBag执行相同的操作.我喜欢有强力型号,但是YMMV.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读