允许布局视图和其他视图使用相同的模型

时间:2011-10-10 14:49:19

标签: asp.net-mvc razor

我正在使用带有Razor语法的ASP.NET MVC。我正在尝试找到获取数据的最佳方法,并通过布局视图(共享)和其他视图将其传递给我的应用程序以进行访问。在某些情况下,可能需要将其他模型传递给视图。我查看了像 BaseViewModel 这样的项目,但为此,我需要在每个使用它的ActionResult上传递一个模型。每个用户的数据都会发生变化,并且可能会在同一会话期间发生变化。

实现这一目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

您的问题有点模糊,但我认为您在询问如何为布局提供模型?

为此创建BaseViewModel因为它实际上不是is-a关系。

相反,我会像我在这里描述的那样做:http://blog.gauffin.org/2011/09/getting-information-into-the-layout-without-using-viewbag/

答案 1 :(得分:2)

创建一个BaseViewModel并使MyModel成为此模型的子项(即:public class MyModel:BaseViewModel)。在此BaseViewModel中,放置布局必须使用的所有常用属性。

之后,您需要输入共享布局:

@model BaseViewModel
相关问题