none
Como fazer o Page_Load verificar qual <asp:Button foi clicado ? RRS feed

  • Pergunta

  • Amigos gostaria de saber como faço para que o Page_Load de uma página verifique qual Button foi clicado ?

    protected void Page_Load(object sender, EventArgs e)
    {
        if(Botão1)
        {
            faz uma coisa
        }
        else if (Botão 2)
        {
            faz outra coisa
        }
        else
        {
            faz uma outra coisa
        }
    
    }

    Fico no aguardo

    Obrigado


    quinta-feira, 23 de julho de 2015 20:26

Respostas

  • Arrumei uma solução muito bem elaborada :)

    Na página ASPX tenho os botões.

                <asp:Button ID="btnCadastro"
                    CommandName="cadastrar"
                    OnCommand="GerenciarUsuario"
                    runat="server" 
                    Text="Cadastrar" 
                    CssClass="btn btn-primary" />
    
                <asp:Button ID="btnAlterar" 
                    CommandName="alterar"
                    OnCommand="GerenciarUsuario"
                    runat="server" 
                    Text="Alterar" 
                    CssClass="btn btn-primary" 
                    Enabled="false" />
    
                <asp:Button ID="btnExcluir" 
                    CommandName="excluir"
                    OnCommand="GerenciarUsuario" 
                    runat="server" 
                    Text="Excluir" 
                    CssClass="btn btn-primary" 
                    Enabled="false" />

    Cada botão tem um CommandName e o OnCommand é igual para todos.

    Quando clico vai para a ASPX.CS e executa a função, é o que estava precisando.

    protected void GerenciarUsuario(object sender, CommandEventArgs e)
            {
                // vamos descobrir qual botão foi clicado
                switch (e.CommandName)
                {
                    case "cadastrar":
                        lblMensagem.Text = "Você clicou o botão Cadastrar";
                        break;
                    case "alterar":
                        lblMensagem.Text = "Você clicou o botão Alterar";
                        break;
                    case "excluir":
                        lblMensagem.Text = "Você clicou o botão Excluir";
                        break;
                    default:
                        lblMensagem.Text = "Confesso que não sei qual botão foi clicado";
                        break;
      }
    }

    Esta técnica foi explicada pelo OSMAR do site Arquivos de Códigos.

    Obrigado Carlos por estar sempre me ajudando nestes dias.

    • Marcado como Resposta Cyberlacs sexta-feira, 24 de julho de 2015 01:06
    quinta-feira, 23 de julho de 2015 21:34

Todas as Respostas

  • Os links abaixo tem o que você precisa:

    http://stackoverflow.com/questions/6412320/way-to-find-out-which-button-was-clicked

    http://stackoverflow.com/questions/11333305/asp-net-determine-which-button-was-clicked-inside-an-updatepanel-in-page-load-ev


    Carlos Eduardo Ferreira

    quinta-feira, 23 de julho de 2015 20:47
  • Arrumei uma solução muito bem elaborada :)

    Na página ASPX tenho os botões.

                <asp:Button ID="btnCadastro"
                    CommandName="cadastrar"
                    OnCommand="GerenciarUsuario"
                    runat="server" 
                    Text="Cadastrar" 
                    CssClass="btn btn-primary" />
    
                <asp:Button ID="btnAlterar" 
                    CommandName="alterar"
                    OnCommand="GerenciarUsuario"
                    runat="server" 
                    Text="Alterar" 
                    CssClass="btn btn-primary" 
                    Enabled="false" />
    
                <asp:Button ID="btnExcluir" 
                    CommandName="excluir"
                    OnCommand="GerenciarUsuario" 
                    runat="server" 
                    Text="Excluir" 
                    CssClass="btn btn-primary" 
                    Enabled="false" />

    Cada botão tem um CommandName e o OnCommand é igual para todos.

    Quando clico vai para a ASPX.CS e executa a função, é o que estava precisando.

    protected void GerenciarUsuario(object sender, CommandEventArgs e)
            {
                // vamos descobrir qual botão foi clicado
                switch (e.CommandName)
                {
                    case "cadastrar":
                        lblMensagem.Text = "Você clicou o botão Cadastrar";
                        break;
                    case "alterar":
                        lblMensagem.Text = "Você clicou o botão Alterar";
                        break;
                    case "excluir":
                        lblMensagem.Text = "Você clicou o botão Excluir";
                        break;
                    default:
                        lblMensagem.Text = "Confesso que não sei qual botão foi clicado";
                        break;
      }
    }

    Esta técnica foi explicada pelo OSMAR do site Arquivos de Códigos.

    Obrigado Carlos por estar sempre me ajudando nestes dias.

    • Marcado como Resposta Cyberlacs sexta-feira, 24 de julho de 2015 01:06
    quinta-feira, 23 de julho de 2015 21:34
  • Que bom que você conseguiu. Feche seu thread, por favor.

    Carlos Eduardo Ferreira

    sexta-feira, 24 de julho de 2015 01:04