【问题标题】:ViewModel in a masterpage? [closed]母版页中的 ViewModel? [关闭]
【发布时间】:2011-04-19 17:47:55
【问题描述】:

我正在使用带有剃须刀的 asp.net mvc 3.0。

我想知道是否可以为我的母版页制作一个视图模型。我的母版页中有一些动态数据,因此我可能必须为所有控制器创建一个“基类”,但我宁愿拥有强类型数据,然后查看数据/查看包。

这样可以吗?

【问题讨论】:

标签: asp.net-mvc asp.net-mvc-3


【解决方案1】:

您可以让您的所有视图模型都继承自一个基础视图模型,该基础视图模型将包括您的所有公共字段。

或者,您可以使用Custom Action Filter 将一些对象放入您的母版页始终希望存在的视图数据中。此操作过滤器还可用于填充视图模型基类中的公共字段。

【讨论】:

  • 对@chobo2 的仅供参考,我链接到的受骗答案比这清楚地解释所有部分的答案要好得多。
【解决方案2】:

我建议使用 RenderAction 而不是拥有一个基础视图模型,您的所有视图模型都将从该基础视图模型中继承。我想您想在母版页中使用的视图模型很可能会包含导航数据(菜单或左栏等)。如果是这种情况,RenderAction 会彻底分离关注点,您可以在首次加载此特定操作后缓存该特定操作中使用的数据,然后您的进一步请求将从缓存数据中获得。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 2011-05-12
    相关资源
    最近更新 更多