主页中的ViewModel?

时间:2011-04-19 17:47:55

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

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

我想知道我是否可以为我的母版页制作视图模型。我的母版页中有一些动态数据,所以我可能不得不为我的所有控制器制作一个“基类”,但我更喜欢强类型数据,然后查看数据/查看包。

那可以这样做吗?

2 个答案:

答案 0 :(得分:4)

您可以让所有视图模型都继承自基本视图模型,其中包含所有常用字段。

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

答案 1 :(得分:0)

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