Pular para o conteúdo principal

FindControl Aspnet não localiza os controle quando adicionado em runtime

Para resolver o problema do Page.FindControl que não localiza os controles adicionados em Runtime vamos fazer uso do evento LoadViewState para armazenar os controle no ViewState e recupera-lós mais tarde.

Este exemplo adiciona uma caixa de texto e um o botão a página Web em tempo de execução. Também se associa dinamicamente um manipulador de eventos botão Click. O manipulador exibe os valores da caixa de texto gerado dinamicamente.

Os controles são adicionados a um controle de servidor Web Panel, que atua como um espaço reservado. Os controles são separados no painel com as quebras de linha (os elementos HTML
), que são adicionados ao painel usando o controle LiteralControl.

Utilize o codigo abaixo:



 private void Page_Load(object sender, System.EventArgs e)
    {
        if (!IsPostBack)
            AddControls();
    }

    protected override void LoadViewState(object savedState)
    {
        base.LoadViewState(savedState);
        if (ViewState["controsladded"] == null)
            AddControls();
    }

    private void AddControls()
    {
        TextBox dynamictextbox = new TextBox();
        dynamictextbox.Text = "(Enter some text)";
        dynamictextbox.ID = "dynamictextbox";
        Button dynamicbutton = new Button();
        dynamicbutton.Click += new System.EventHandler(dynamicbutton_Click);
        dynamicbutton.Text = "Dynamic Button";
        Panel1.Controls.Add(dynamictextbox);
        Panel1.Controls.Add(new LiteralControl("
"));
        Panel1.Controls.Add(new LiteralControl("
"));
        Panel1.Controls.Add(dynamicbutton);
        ViewState["controlsadded"] = true;
    }

    private void dynamicbutton_Click(Object sender, System.EventArgs e)
    {
        TextBox tb = new TextBox();
        tb = (TextBox)(Panel1.FindControl("dynamictextbox"));
        Label1.Text = tb.Text;
    }


Um abraço

Comentários

Postagens mais visitadas deste blog

EmguCV DLL Not Found Exception -Unable to find cvextern?

Eu também tive os mesmos problemas. Neste fórum emgucv , não sei por que cvextern.dlldo emgucv 3.4.3 não é possível carregar cvextern (porque não é possível encontrar cvextern), e você permitiu usar o arquivo cvextern.dlldo emgucv 3.4.2 (certifique-se de escolher x64 / x86), copie /bin/Debuge este arquivo é encontrado automaticamente /bin/Debug/x86ou /bin/Debug/x64quando você termina de construir o programa no Visual Studio.  O Erro:  The type initializer for 'Emgu.CV.CvInvoke' threw an exception. : Unable to load DLL 'cvextern': The specified module could not be found. (Exception from HRESULT: 0x8007007E)  Para resolver o problema copia a pasta x64 ou x86 para dentro da pasta bin da aplicação. Ou copie os arquivos para dentro da pasta bin da aplicação WCF.

Rastreador Tag Bluetooth MiTag Android

Configuração e Rastreamento com Mi Tag O vídeo apresenta uma solução de rastreamento de equipamentos por meio de uma tag chamada MiTag, que foi comprada no AliExpress. O comunicador explica que esta tag funciona sem a necessidade de internet ou chip, utilizando a rede Bluetooth de outros celulares próximos para propagar sua localização até o aplicativo no celular do usuário. O vídeo demonstra o processo de configuração inicial da tag com o aplicativo Google Finder Hub, que é o localizador do Google, exclusivo para Android. Por fim, o tutorial também mostra como desinstalar e resetar a MiTag, um processo necessário caso o usuário queira emparelhar o dispositivo com um celular diferente, já que a tag fica bloqueada após a primeira conexão. https://youtu.be/mm1Z5lus7ag ## Funcionalidades Essenciais da Mi Tag As principais funcionalidades da Mi Tag giram em torno da capacidade de rastreamento independente e de longa duração: 1. **Rastreamento Sem Necessidade de Internet ou Chip:...

Um Guia Prático para Cultivar a Integridade Pesssoal

  Construindo seu Caráter: Um Guia Prático para Cultivar a Integridade Introdução: A Integridade como sua Bússola Interna Pense na integridade como sua bússola interna. Em um mundo cheio de ruídos e pressões, ela é a agulha que aponta consistentemente para o seu norte verdadeiro: a coerência entre o que você pensa, diz e faz, com base em princípios sólidos. Como um jovem adulto, desenvolver sua integridade é fundamental para quem você está se tornando, pois ela não apenas molda sua identidade, mas constrói uma resiliência poderosa contra influências negativas. Para começar, vamos desconstruir esse conceito em seus componentes essenciais: os quatro pilares que sustentam uma vida íntegra. 1. Os 4 Pilares da Pessoa Íntegra A integridade não é uma ideia abstrata; ela se revela em suas ações diárias. Uma pessoa de caráter sólido se apoia consistentemente em quatro pilares fundamentais: Honestidade e Transparência: Isso vai além de não mentir. É o compromisso de ser uma pessoa confiável...