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.

Foi útil?

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/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top