【问题标题】:ASP.NET MVC - different models for master page and view pageASP.NET MVC - 母版页和视图页的不同模型
【发布时间】:2010-10-21 09:23:21
【问题描述】:

我有一个强类型母版页,但我想为它的某些子页使用不同的类型。

例如,在母版页上...

<%@ Master ... Inherits="System.Web.Mvc.ViewMasterPage<MyWeb.Models.Client>" %>

Client 已经是一个复合对象,因此在某些子页面上我可以保持相同的模型并仅引用成员对象。但在其他页面上,这样做没有意义,因为我正在处理不同的模型,例如,处理 Customer 模型的子页面。

我的母版页仍然需要客户端模型,但子视图将完全适用于不同的模型。问题是,在控制器中,您只能将一个对象模型传递给视图。有什么方法可以将一个模型传递给主模型,将另一个模型传递给视图?谢谢!

【问题讨论】:

  • 好问题,我也想问同样的问题!最佳答案虽然我不得不说。正如Mastermind所说,如此简单!好吧,现在是大声笑;-)
  • 同样的困境 - 说得好。谢谢操作。

标签: asp.net-mvc master-pages viewmodel


【解决方案1】:

您可以创建层次结构并将基本模型传递给母版页,将子模型传递给您的视图。

public class BaseModel
{
}

public class ChildModelOne : BaseModel
{
}

public class ChildModelTwo : BaseModel
{
}

这样,您的主视图将只能看到自己的数据(在主模型类中可用),而您的视图将可以访问子模型类中可用的扩展信息。

很简单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多