asp.net mvc视图与不同模型的母版页绑定

时间:2009-08-24 04:44:08

标签: asp.net-mvc binding

如果我有一个与ObjectA绑定的母版页,然后是一个与ObjectB绑定的View,它在asp.net mvc中是如何工作的(或者它是否可以工作)。

母版页可能包含:

Inherits="System.Web.Mvc.ViewMasterPage<CalendarEvent[]>" %>

并且其中一个视图可能包含:

Inherits="System.Web.Mvc.ViewPage<Tournament[]>" %>

你会从控制器传递到视图中,因为在这种情况下你有2个模型绑定到?

让母版页有绑定对象是不好的做法吗?

1 个答案:

答案 0 :(得分:3)

好吧,你可以定义一个包含ObjectA的抽象容器:

public class ModelContainer
{
    public ObjectA ObjectA { get; set; }
}

然后让您的所有视图都从此类继承并添加自己的数据:

public class SomeViewContainer : ModelContainer
{
    public ObjectB ObjectB { get; set; }
}

然后,母版页可以访问模型的ObjectA属性,而各个视图可以忽略该特定属性并访问它们自己需要的数据。

但我不能说我特别喜欢这种方法。如果有任何方法可以避免在母版页中需要模型,我宁愿选择。