Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

passado

Adicionar Botao a DataList e Regatar Valor

Mensagens Recomendadas

passado

Boas, eu tenho uma datalist e quero adicionar um botao, que ao ser clicado ele apanhe um valor e coloque numa variavel de sessão, eu so nao sei apanhar o valor....

Isto para ele abrir outra pagina para mostar detalhes...ja agora que control devo usar para mostrar uma lista tipo tabela assim:

Cabeçalho ! Cabeçalho ! Cabeçalho

______________________________

Produto    | Produto    | Produto

_______________________________

produto    |  Produto    | Produto

Cumps

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Boa tarde,

Mas onde se encontra o valor que queres apanhar? dentro da datalist? se assim for podes ir pelo FindControl e depois passas então para a variável de sessão,

Para isso deves usar uma gridview penso que é suficiente.

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Aqui tens o Código para apanhar o valor, Onde tens "label" colocas o nome do campo e depois defines o control.

CType(DataList1.FindControl("label"), Label).Text

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
passado

Boas tentei usar isso assim:

Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim id As Integer = CType(datalistaluguer.FindControl("id_aluguerLabel"), Label).Text
        Session("idaluguer") = id
        Page.Response.Redirect("DetalhesAluguer.aspx", False)
    End Sub

Mas retorna um erro na primeira linha:

"A referência de objecto não foi definida como uma instância de um objecto."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
passado

boas,

Que tipo de erro?

Cumprimentos Paulo Silva

Da esta mensagem

"A referência de objecto não foi definida como uma instância de um objecto."

e a aplicação para

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
passado

    Private Sub datalistaluguer_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles datalistaluguer.ItemCommand
        Dim cmd As String = e.CommandSource.CommandName
        If cmd = "select" Then
            Dim id As Integer = e.Item.ItemIndex
            Session("idaluguer") = ""
            Page.Response.Redirect("DetalhesAluguer.aspx", False)
        End If
    End Sub

Pessoal eu ate agora tenho isto mas continou sem conseguir ir buscar o valor que quero, precisava mesmo de ajuda

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ahco

Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList1.ItemDataBound

If e.Item.ItemType = ListItemType.AlternatingItem OrElse e.Item.ItemType = ListItemType.Item Then

            Dim idnoticia As Label = TryCast(e.Item.FindControl("IDNoticiaLabel"), Label)

            Dim query As String = "select galeria from tblnoticia where idnoticia='" + idnoticia.Text + "'"
            Dim conexao As New SqlConnection(conn)
            Dim comando As New SqlCommand(query, conexao)
            Dim dbpasta As String
            conexao.Open()
            dbpasta = comando.ExecuteScalar()
            conexao.Close()

end if
end sub

eu fui buscar os valores assim, alguma coisa apita

       

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList1.ItemDataBound

If e.Item.ItemType = ListItemType.AlternatingItem OrElse e.Item.ItemType = ListItemType.Item Then

            Dim idnoticia As Label = TryCast(e.Item.FindControl("IDNoticiaLabel"), Label)

            Dim query As String = "select galeria from tblnoticia where idnoticia='" + idnoticia.Text + "'"
            Dim conexao As New SqlConnection(conn)
            Dim comando As New SqlCommand(query, conexao)
            Dim dbpasta As String
            conexao.Open()
            dbpasta = comando.ExecuteScalar()
            conexao.Close()

end if
end sub

eu fui buscar os valores assim, alguma coisa apita

       

Exactamente isto  ;)

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.