Pergunta

No meu código eu carregar um controle de usuário (UC) no evento Page_Load. A UC contém um botão que define um texto rótulo para o valor caixa de texto. (lblTest.Text = txtText.Text). Esta multa funciona no evento de carregamento da minha página. Mas quando eu definir o carregamento do uc na minha evento Init, o rótulo não está definido. Quando eu definir pontos de interrupção, eu ver o evento botão é acionado, o texto está definido (no código), mas quando a página está carregando acabado, o rótulo está vazio. Como isso é possível?

Foi útil?

Solução

Confira mais abaixo no código para garantir que o texto do controle não está sendo substituído ou volta conjunto de texto vazio. (Especificamente, olhe mais longe na Page_Init, funções que invoca Page_Init e Page_Load e suas funções invocado.)

Se você está vendo que ele está sendo definida no depurador para o valor que você espera, então as chances são muito boas que outra coisa está mudando-o após o fato. Isso vai ser o seu código, ViewState, ou qualquer outra coisa fora do seu imediato controle. Encontrar esse, e você deve ser capaz de fazer algo sobre isso.

Outras dicas

Eu não acho que o controle existe plenamente na inicialização.

Este artigo explica o ciclo página do evento e pode explicar o problema que você tem: http://www.15seconds.com/issue/020102.htm

Para elaborar mais um pouco sobre as outras respostas.

Sempre que um asp.net lança site, cinco coisas acontecem em uma ordem muito específica . ligação de Leia Lucas para descobrir que a ordem ea trama em conformidade.

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