none
Algo errado com evento RowCommad e.CommandName Help!! RRS feed

  • Pergunta

  • Senhores, está faltando alguma coisa neste evento! Possuo trÊs botões em meu grid! Cada um com seu CommandName! Porém , estou clicando no comand name "Certificado" e mesmo assim no evento RowCommand Esta entrando na condição do botão "Imprimir"(CommandName:Imprimir.)

    O que devo fazer para ele pular isto? No meu asp.net está assim:

                <asp:ButtonField CommandName="Imprimir" HeaderText="Recibo" Text="Imprimir Recibo" ButtonType="Button" />
                <asp:ButtonField CommandName="Certificado" HeaderText="Certificado" Text="Imprimir Certificado" ButtonType="Button" />

    e no C#

       protected void GridCAEX_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                int index = int.Parse((string)e.CommandArgument);
                int codigo;


                //Variaveis para recibo.

                string empresa, cnpj, endereco, cidade, estado, telefone, valor, url;

                if (e.CommandName == "Imprimir")
                {
                    /*lblnomeimpressao.Text*/
                    codigo = int.Parse(GridCAEX.Rows[index].Cells[0].Text);

                    cdcaex = CAEXBLL.Find(cli => cli.IDT_VISITANTE == codigo).First<cadastroenie>();

                    lblnomeimpressao.Text = cdcaex.NOME;

                    Session.Add("NomeCertificado", lblnomeimpressao.Text);

                    Response.Redirect("ImprimiCertificado.aspx");


                    if (e.CommandName == "Certificado")
                    {
                        codigo = int.Parse(GridCAEX.Rows[index].Cells[0].Text);
                        cdcaex = CAEXBLL.Find(cli => cli.IDT_VISITANTE == codigo).First<cadastroenie>();

                        empresa = cdcaex.EMPRESA;
                        cnpj = cdcaex.CNPJ;
                        endereco = cdcaex.ENDERECO;
                        cidade = cdcaex.CIDADE;
                        estado = cdcaex.ESTADO;
                        telefone = cdcaex.TELEFONE;
                        valor = cdcaex.VALOR;
                        url = "ReciboCliente.aspx?empresa=" + empresa + "&cnpj=" + cnpj + "&endereco=" + endereco + "&cidade=" + cidade + "&estado=" + estado + "&telefone=" + telefone + "&valor=" + valor;
                        Response.Redirect(url);
                    }
                }
            }

    Por quê entra nas duas condições mesmo clicando no botão certificado????????



    segunda-feira, 13 de agosto de 2012 17:13

Respostas

  • Rafa, consegui! Estava trocado os valores!!!

    Segue código correto!

     protected void GridCAEX_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                int index = int.Parse((string)e.CommandArgument);
                int codigo;


                //Variaveis para recibo.

                string empresa, cnpj, endereco, cidade, estado, telefone, valor, url;


                if (e.CommandName == "ImprimirRecibo")
                {
                    codigo = int.Parse(GridCAEX.Rows[index].Cells[0].Text);
                    cdcaex = CAEXBLL.Find(cli => cli.IDT_VISITANTE == codigo).First<cadastroenie>();

                    empresa = cdcaex.EMPRESA;
                    cnpj = cdcaex.CNPJ;
                    endereco = cdcaex.ENDERECO;
                    cidade = cdcaex.CIDADE;
                    estado = cdcaex.ESTADO;
                    telefone = cdcaex.TELEFONE;
                    valor = cdcaex.VALOR;
                    url = "ReciboCliente.aspx?empresa=" + empresa + "&cnpj=" + cnpj + "&endereco=" + endereco + "&cidade=" + cidade + "&estado=" + estado + "&telefone=" + telefone + "&valor=" + valor;
                    Response.Redirect(url);
                }


                if (e.CommandName == "Certificado")
                {
                    /*lblnomeimpressao.Text*/
                    codigo = int.Parse(GridCAEX.Rows[index].Cells[0].Text);

                    cdcaex = CAEXBLL.Find(cli => cli.IDT_VISITANTE == codigo).First<cadastroenie>();

                    lblnomeimpressao.Text = cdcaex.NOME;

                    Session.Add("NomeCertificado", lblnomeimpressao.Text);

                    Response.Redirect("ImprimiCertificado.aspx");
                }

            }

    segunda-feira, 13 de agosto de 2012 17:26

Todas as Respostas

  • Cade o ID dos campos?

    Rafael Santos

    Observações:
    1. Selecione a opção "Habilitar o Live Alerts por Padrão" nas suas configurações para que possa acompanhar em tempo real as atividades relacionadas a sua Thread;
    2. Não abandone sua Thread. Ao perguntar, fique atento às respostas; ao encontrar uma solução, compartilhe;
    3. As pessoas que dedicam seu tempo na busca por soluções para você não ganham nada em troca. Valorize-as e em forma de agradecimento pontue as respostas corretas.

    "Quem disse que não escrevo poesias? A diferença é que as minhas começam com using System;"

    segunda-feira, 13 de agosto de 2012 17:17
  • Rafa, consegui! Estava trocado os valores!!!

    Segue código correto!

     protected void GridCAEX_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                int index = int.Parse((string)e.CommandArgument);
                int codigo;


                //Variaveis para recibo.

                string empresa, cnpj, endereco, cidade, estado, telefone, valor, url;


                if (e.CommandName == "ImprimirRecibo")
                {
                    codigo = int.Parse(GridCAEX.Rows[index].Cells[0].Text);
                    cdcaex = CAEXBLL.Find(cli => cli.IDT_VISITANTE == codigo).First<cadastroenie>();

                    empresa = cdcaex.EMPRESA;
                    cnpj = cdcaex.CNPJ;
                    endereco = cdcaex.ENDERECO;
                    cidade = cdcaex.CIDADE;
                    estado = cdcaex.ESTADO;
                    telefone = cdcaex.TELEFONE;
                    valor = cdcaex.VALOR;
                    url = "ReciboCliente.aspx?empresa=" + empresa + "&cnpj=" + cnpj + "&endereco=" + endereco + "&cidade=" + cidade + "&estado=" + estado + "&telefone=" + telefone + "&valor=" + valor;
                    Response.Redirect(url);
                }


                if (e.CommandName == "Certificado")
                {
                    /*lblnomeimpressao.Text*/
                    codigo = int.Parse(GridCAEX.Rows[index].Cells[0].Text);

                    cdcaex = CAEXBLL.Find(cli => cli.IDT_VISITANTE == codigo).First<cadastroenie>();

                    lblnomeimpressao.Text = cdcaex.NOME;

                    Session.Add("NomeCertificado", lblnomeimpressao.Text);

                    Response.Redirect("ImprimiCertificado.aspx");
                }

            }

    segunda-feira, 13 de agosto de 2012 17:26