Obter referência a um dropdownbox com c # na página PreRender
-
21-08-2019 - |
Pergunta
Eu quero adicionar opções para um dropdownbox na minha página aspx do código c # para trás durante o carregamento. Eu não sei como obter uma referência para o controle. Eu tenho alguns código C # que é acionado quando o usuário altera o dropdownbox. Em que eu obter uma referência para o menu suspenso com:
DropDownBox ddb = (DropDownBox)info.Toolbar.ToolbarItems.Find("ID");
Mas isso não vai funcionar se eu experimentá-lo em
protected void Page_PreRender(object sender, EventArgs e)
{
em meus aspx.cs
O que eu estou ausente? Obrigado.
Solução
Se você deseja que o item selecionado da lista suspensa para ser selecionado automaticamente a partir de viewstate em postagens que você precisa ter todos os itens na lista suspensa pelos incêndios Page_PreLoad tempo. Para fazer isso você vai querer colocar seu código em Page_Init, neste ponto os controles são criados, mas viewstate ainda não foi injetado-los.
Dê uma olhada aqui ASP.NET página Ciclo de Vida Overview para obter informações sobre o ciclo de vida página.
Eu vejo que seu suspensa está em um contêiner pai, você pode precisar chamar info.EnsureChildControls () antes de usar find () se não é capaz de obter uma referência ao seu controle.
Outras dicas
PreRender é para o fim do ciclo de vida página. Tem certeza de que quer fazer mudanças lá? Parece que você deve mudar itens na lista suspensa quando é inicialmente ligada ou quando a sua seleção é alterada.
http://codebetter.com/blogs/ /images/codebetter_com/raymond.lewallen/89/o_aspNet_Page_LifeCycle.jpg