none
Executar as acoes a partir de um botao de um datalist RRS feed

  • Pergunta

  • Olá pessoal, estou  travado nisso aqui e nao consigo arrumar.

     

    Preciso que qdo o botao do datalist for clicado occora a acao programada.

     

    Ja entrei no msdn e fiz de acordo com a biblioteca

    http://msdn.microsoft.com/pt-br/library/df6hth3s%28VS.90%29.aspx

    vou postar meu codigo

     

    ASP.NET

    [code]

    <asp:DataList ID="gridCategorias" runat="server" RepeatLayout="Flow" ShowFooter="False"
                ShowHeader="False">
                <HeaderTemplate>
                </HeaderTemplate>
                <ItemTemplate>
                    <div class="produto">
                        <div class="textoprod">
                            <p class="tituloprod">
                                <%#DataBinder.Eval(Container.DataItem, "nome")%></p>
                            <p>
                                Pre&ccedil;o:<%#String.Format("{0:C2}", Convert.ToDouble(DataBinder.Eval(Container.DataItem, "preco")))%>.</p>

     

    <asp:ImageButton ID="AddCarrinhoBTN" runat="server" ImageUrl="imagens/botao_comprar.gif"
                                CommandName="AddCarrinho" CommandArgument='<%#DataBinder.Eval(Container.DataItem, "idprod")%>' />

     

     

                            <!--Adicionar ao btn se for usar o metodo btn click '''''    OnClick="AddCarrinhoBTN_Click"    '''''-->
                        </div>
                        <div class="imgproduto">
                            <a href="DetalhesProd.aspx?Produto=<%#DataBinder.Eval(Container.DataItem, "idprod")%>">
                                <img border="0" src="produtos/<%#DataBinder.Eval(Container.DataItem, "impeq")%>"
                                    alt="" /></a>
                        </div>
                    </div>
                </ItemTemplate>
            </asp:DataList>

    [/code]

     

    VB.NET

    [code]

      Protected Sub gridCategorias_ItemCommand(ByVal source As Object, ByVal e As DataListCommandEventArgs)

            If e.CommandName = "AddCarrinho" Then
                Response.Redirect("http://www.manaca.com.br")

            End If
        End Sub

    [/code]

     

    o response.redirect é so pra saber se esta ocorrendo o click

    O meu problema é que nao consigo executar nem uma ação no click do meu imagebutton
    • Editado RodrigoViolato terça-feira, 28 de setembro de 2010 19:23 explicacao extra
    terça-feira, 28 de setembro de 2010 19:21

Respostas

  • Amigo, como vc esta usando VB.Net, acho q vc esqueceu de por o Handles depois do metodo, tem que ser assim:

     

    Protected
    
    
     Sub
    
    
     gridCategorias_ItemCommand(ByVal
    
    
     source As
    
    
     Object
    
    
    , ByVal
    
    
     e As
    
    
     DataListCommandEventArgs) Handles
    
    
     gridCategorias.ItemCommand
    

     

    Você precisa ou por o Handles no final no metodo ou especificar o metodo no ASPX.

    Abraços,

    terça-feira, 28 de setembro de 2010 20:21

Todas as Respostas

  • Amigo, como vc esta usando VB.Net, acho q vc esqueceu de por o Handles depois do metodo, tem que ser assim:

     

    Protected
    
    
     Sub
    
    
     gridCategorias_ItemCommand(ByVal
    
    
     source As
    
    
     Object
    
    
    , ByVal
    
    
     e As
    
    
     DataListCommandEventArgs) Handles
    
    
     gridCategorias.ItemCommand
    

     

    Você precisa ou por o Handles no final no metodo ou especificar o metodo no ASPX.

    Abraços,

    terça-feira, 28 de setembro de 2010 20:21
  • Ae cara, era o handles mesmo, ta funcionando beleza!
    [code]
      Protected Sub gridCategorias_ItemCommand(ByVal gridCategorias As Object, ByVal e As DataListCommandEventArgs) Handles gridCategorias.ItemCommand

            If e.CommandName = "AddCarrinho" Then
                Response.Redirect("http://www.manaca.com.br")
            End If
        End Sub
    [/code]
    Ta funcionando perfeito, e obrigado pela dica tbm.
    quarta-feira, 29 de setembro de 2010 18:07