Веб-формы ASP.NET - Presenter Model Viewer и пользовательские элементы управления - PullRequest
6 голосов
/ 04 апреля 2011

Я новичок в использовании шаблона MVP, и я просто хочу убедиться, что лучший способ вызова докладчика из пользовательского элемента управления.

MyPage.aspx имеет докладчика MyPresenter

Страница содержит пользовательский элемент управления, который принимает Presenter от MyPage через свойство, которое я настроил из MyPage

MyUserControl.Presenter = this.Presenter

Я сейчас пытаюсь вызвать Method1 внутри презентатора, который извлекает некоторую конфигурацию и устанавливает ее в представлении из пользовательского элемента управления.

Presenter.Method1(); // calls method and sets config to the view

Во-первых, мой вопрос

  1. должен ли я использовать докладчик в пользовательском элементе управления таким образом?
  2. Если это так, допустимо ли получать доступ к значению вида через пользовательский элемент управления, как показано ниже.

    Presenter.View.MyData

Я просто хочу убедиться, что я не пойду по совершенно неправильному пути с этим!

1 Ответ

4 голосов
/ 07 апреля 2011

Я использую один докладчик для каждого пользовательского элемента управления, который отвечает только за презентацию пользовательского элемента управления, и один докладчик для каждой страницы (.aspx). Я думаю, что разделение вещей помогает и для поддержания, поскольку у вас будет «тощий» докладчик, который отвечает только за небольшую часть пользовательского интерфейса. Пользовательский элемент управления также будет «самодостаточным», чтобы вы могли использовать его повторно, поскольку логика представления отделена от логики представления страницы.

взгляните на следующий пост:

MVP и UserControls и вызов

...