Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public partial class _Default : Page, IEmployeeView
- {
- private EmployeePresenter _presenter;
- private EmployeePresenter Presenter
- {
- set
- {
- _presenter = value;
- _presenter.View = this;
- }
- }
- }
- public partial class _Default : Page, IEmployeeView
- {
- private EmployeePresenter _presenter;
- private EmployeePresenter Presenter
- {
- set
- {
- _presenter = value;
- _presenter.View = this;
- }
- }
- protected void Page_Load(object sender, EventArgs e)
- {
- ObjectFactory.BuildUp(this);
- }
- }
- public partial class _Default : Page, IEmployeeView
- {
- private EmployeePresenter _presenter;
- public EmployeePresenter Presenter
- {
- get
- {
- if (_presenter == null)
- {
- ObjectFactory.BuildUp(this);
- }
- return _presenter;
- }
- set
- {
- _presenter = value;
- _presenter.View = this;
- }
- }
- }
- public partial class _Default : Page, IEmployeeView
- {
- private EmployeePresenter _presenter;
- private EmployeePresenter Presenter
- {
- get
- {
- if (_presenter == null)
- {
- _presenter = ObjectFactory.GetInstance<EmployeePresenter>();
- _presenter.View = this;
- }
- return _presenter;
- }
- }
- }
- public partial class _Default : Page, IEmployeeView
- {
- private EmployeePresenter _presenter;
- private EmployeePresenter Presenter
- {
- get
- {
- if (_presenter == null)
- {
- Presenter = ObjectFactory.GetInstance<EmployeePresenter>();
- }
- return _presenter;
- }
- set
- {
- _presenter = value;
- _presenter.View = this;
- }
- }
- }
- public partial class _Default : AbstractPage, IEmployeeView
- {
- private EmployeePresenter presenter;
- private EmployeePresenter Presenter
- {
- set
- {
- presenter = value;
- presenter.View = this;
- }
- }
- protected override void Do_Load(object sender, EventArgs args)
- {
- //do "on load" stuff
- }
- }
- public abstract class AbstractPage : Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- ObjectFactory.BuildUp(this);
- this.Do_Load(sender,e);
- //template method, to enable subclasses to mimic "Page_load" event
- }
- //Default Implementation (do nothing)
- protected virtual void Do_Load(object sender, EventArgs e){}
- }
- protected override void OnInit(EventArgs e)
- {
- StructureMap.ObjectFactory.BuildUp(this);
- base.OnInit(e);
- }
- public partial class Employee : View, IEmployeeView
- {
- public ViewPresenter Presenter { get; set; }
- private void Page_Load(object sender, EventArgs e){}
- }
- static T GetView<T>()
- {
- return (T) HttpContext.Current.Handler;
- }
- public abstract class ViewBasePage<TPresenter, TView> :
- Page where TPresenter : Presenter<TView>
- {
- protected TPresenter _presenter;
- public TPresenter Presenter
- {
- set
- {
- _presenter = value;
- _presenter.View = GetView();
- }
- }
- /// <summary>
- /// Gets the view. This will get the page during the ASP.NET
- /// life cycle where the physical page inherits the view
- /// </summary>
- /// <returns></returns>
- private static TView GetView()
- {
- return (TView) HttpContext.Current.Handler;
- }
- protected override void OnPreInit(EventArgs e)
- {
- ObjectFactory.BuildUp(this);
- base.OnPreInit(e);
- }
- }
- public partial class _Default :
- ViewBasePage<EmployeePresenter, IEmployeeView>, IEmployeeView
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!Page.IsPostBack)
- {
- _presenter.OnViewInitialized();
- }
- _presenter.OnViewLoaded();
- Page.DataBind();
- }
- #region Implementation of IEmployeeView
- ...
- #endregion
- }
Add Comment
Please, Sign In to add comment