Search code examples
c#asp.netweb-partspage-lifecyclewebpart-connection

What if you want webpart communication before Page_Load?


I am needing to create some dynamic controls at Page_Load in the consumer webpart. In the Provider webpart I did some hacking and got it so I could get a controls value before viewstate is loaded in Page_Init.

So basically what I want is for webparts to be able to communicate before Page_Load.

[ConnectionConsumer("FormRID Consumer","FormRIDConsumer")]
public void InitializeProvider(MyControl.IFormRID provider)
{
    theProvider = provider;
    FormRID = theProvider.FormRID;
}

That method doesn't get called until after Page_Load. This is a big problem for me because my consumers Page_Load depends on FormRID being set and accurate. I can't move my Page_Load code into Page_LoadComplete either because I am needing to create dynamic controls with viewstate(viewstate isn't restored after Page_Load)

So is there some work around I can use so that I can communicate before Page_Load.


Solution

  • I ended up having to create my own webpart communication.

    It ended up much cleaner than ASP.Net's and communication can happen as early as OnInit inside of the webparts.