Вид mpc asp.net с привязкой главной страницы к различным моделям - PullRequest
2 голосов
/ 24 августа 2009

если у меня есть главная страница, которая связывается с ObjectA, а затем View, который связывается с ObjectB, как это работает (или вообще работает) в asp.net mvc.

главная страница может иметь:

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

и одно из представлений может иметь:

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

что бы вы передали в вид из контроллера, так как в этом случае есть две модели, к которым вы привязываетесь?

Это плохая практика, когда главная страница имеет объект привязки?

1 Ответ

3 голосов
/ 24 августа 2009

Ну, вы можете определить абстрактный контейнер, содержащий ObjectA:

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

и затем все ваши представления наследуются от этого класса и добавляют свои собственные данные:

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

Затем главная страница может получить доступ к свойству ObjectA модели, тогда как отдельные представления могут игнорировать это конкретное свойство и получать доступ к необходимым им данным.

Не могу сказать, что мне особенно нравится такой подход. Если бы я мог избежать необходимости в модели на главной странице, я бы предпочел это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...