我有一个强类型的母版页,但是我想为其中一些子页面使用不同的类型.
例如,在母版页上…
<%@ Master ... Inherits="System.Web.Mvc.ViewMasterPage<MyWeb.Models.Client>" %>
客户端已经是一个复合对象,所以在一些子页面上,我可以保持到同一个模型,只是引用成员对象.但是在其他页面上,我正在处理不同的模型,例如处理客户模型的子页面,这样做是没有意义的.
我的主页仍然需要客户端模型,但是子视图将完全与不同的模型配合使用.问题是,在控制器中,您只能将一个对象模型传递给View.有没有办法将一个模型传递给主人,另一个模式是通过视图传递的?谢谢!
解决方法
您可以创建一个层次结构,并将基本模型传递到主页面,将子模型传递给您的视图.
public class BaseModel { } public class ChildModelOne : BaseModel { } public class ChildModelTwo : BaseModel { }
这样,您的主视图只会看到自己的数据(在主模型类中可用),而您的视图将可以访问子模型类中可用的扩展信息.
很简单.