2011-04-04 12 views
6

Soy nuevo en el uso del patrón MVP y solo quiero asegurarme de la mejor manera de llamar a un presentador desde un control de usuario.Web Forms ASP.NET - Model View Presenter y controles de usuario

MyPage.aspx tiene un MyPresenter presentador

La página contiene un control de usuario que acepta Presentador de MiPágina a través de una propiedad que me configuración de Mi Página

MyUserControl.Presenter = this.Presenter 

ahora estoy tratando de llame al Method1 dentro del presentador que recupera algunas configuraciones y las establece en la vista desde el control del usuario.

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

Mi pregunta es, en primer lugar

  1. debo utilizar el presentador en el control de usuario de esta manera?
  2. Si es así, ¿es válido acceder al valor de vista a través del control de usuario como se muestra a continuación?

    Presenter.View.MyData

Sólo quiero para asegurarse de que no voy a andar por el camino completamente equivocado con esto!

+0

¿Ha leído este artículo: http://haacked.com/archive/2006/08/09/ASP.NETSupervisingControllerModelViewPresenterFromSchematicToUnitTestsToCode.aspx? – smartcaveman

+0

Acabo de leer pero todavía no estoy seguro de que responda mi pregunta. Buena lectura sin embargo. – Andrew

+1

Sí, no tengo suficiente experiencia aquí para estar cómodo respondiendo tu pregunta, pero pensé que podría ser útil. – smartcaveman

Respuesta

4

Lo que hago es tener un presentador para cada control de usuario que es responsable solo de la presentación de control de usuario y un presentador para cada página (.aspx). Creo que mantener las cosas separadas ayuda también a mantener, ya que tendrá un presentador "flaco" que es responsable solo de una pequeña sección de la IU. El control de usuario también será "autónomo" en la forma en que puede reutilizarlos ya que la lógica de presentación se mantiene separada de la lógica de presentación de página.

echar un vistazo a la siguiente mensaje:

MVP and UserControls and invocation

+0

Esa es la respuesta que esperaba después de unas pocas charlas con personas - gracias por confirmar :) – Andrew

+0

¿Podría responder http://stackoverflow.com/questions/8851933/event-bubbling-and-mvp-asp-net? – Lijo

Cuestiones relacionadas