(MVP Pattern) How to forward error messages from Presenter to View?

We bubble an event. In the presenter you register that event:

public event PresenterEventHandler Message;

And then raise it like so:

PresenterEventArgs pe = new PresenterEventArgs("Error message", Status.Error);
this.Message(this, pe);

Then in the view:

protected override void OnInit(EventArgs e)
{
    this.presenter = new MyPresenter(this, MyBusinessService.Instance);
    this.presenter.Message += new PresenterEventHandler(presenter_Message);
}

void presenter_Message(object sender, PresenterEventArgs pe)
{
    // display error message
}

You can pass different types of statuses back to the view in this way, and not just error messages. We have Success, Error, Locked, Warning, Help.

Tags:

Mvp