E se você quiser comunicação webpart antes Page_Load?
-
05-07-2019 - |
Pergunta
Estou precisando criar alguns controles dinâmicos no Page_Load na webpart consumidor. No webpart Provider eu fiz alguma hacking e entendeu que eu pudesse obter um valor controles antes viewstate está carregado na Page_Init.
Então, basicamente o que eu quero é que webparts para ser capaz de se comunicar antes Page_Load.
[ConnectionConsumer("FormRID Consumer","FormRIDConsumer")]
public void InitializeProvider(MyControl.IFormRID provider)
{
theProvider = provider;
FormRID = theProvider.FormRID;
}
Esse método não obter chamado até depois Page_Load. Este é um grande problema para mim, porque meus consumidores Page_Load depende FormRID sendo definida e precisa. Eu não posso mover meu código Page_Load em Page_LoadComplete ou porque estou precisando para criar controles dinâmicos com viewstate (viewstate não é restaurada após Page_Load)
Então, há algum trabalho em torno posso usar para que eu possa comunicar antes Page_Load.
Solução 3
Acabei por ter de criar a minha própria comunicação webpart.
Ele acabou muito mais limpo do ASP.Net do e comunicação pode acontecer tão cedo quanto OnInit dentro dos webparts.
Outras dicas
Você tentou se inscrever para o evento Init da zona de parte da web e colocar a sua InitializeProvider () lá? Eu acredito que é acionado antes OnLoad ou onInit eventos de controles de usuário e formulários web.
Você deve usar no evento OnPreRender em vez de carga, beause onLoad ocorre antes executa conexão WebPart.
Aqui está um exemplo do que você poderia esperar usando OnLoad e eventos OnPreRender http://blog.mastykarz.nl/web-part-requires-clicking-twice-apply-ok-button-apply-changes/