2

我是 MVC3 的新手。当我创建一个强类型视图时,它在视图代码文件的顶部使用此代码

@model MonoPoly.Models.LandDocument

所以这意味着视图可以使用该模型类的所有属性(这里是这个 LandDocument 模型类)。但我的问题是如何将更多模型类作为这个单一视图文件的强类型?或者我应该如何在这个视图中调用其他模型类属性,它已经使用该 LandDocument 模型类进行了强类型化?

对不起,我的英语不好。

4

2 回答 2

4

一种方法是创建一个ViewModel对象,其中包含您希望在视图中引用的所有对象。在Steve Michelotti 的博客上查看如何实现 ViewModel 模式的详细信息:模式 2 –包含域模型对象的专用视图模型

例如,如果你想要一个LandDocument类和一个Player类,你可以创建一个ViewModel这样的:

public class BoardViewModel
{
    public LandDocument LandDocument { get; set; }
    public Player LandOwner { get; set; }
}

然后在您的视图顶部:

@model MonoPoly.ViewModels.BordViewModel

您可以像这样访问视图中的数据,例如:

@Model.LandDocument.LandDocumentId
于 2012-06-28T23:17:45.040 回答
0

创建一个复合视图模型类来封装您需要的所有对象。

例子:

public class InvoiceViewModel
{
    public InvoiceHeader Header { get; set; }
    public List<InvoiceDetail> Details { get; set; }
}
于 2012-06-28T23:17:34.027 回答