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