Foros del Web » Programación para mayores de 30 ;) » .NET »

Error al Seleccionar un label en un datalist

Estas en el tema de Error al Seleccionar un label en un datalist en el foro de .NET en Foros del Web. Me estoy volviendo loco con una bobada, he buscado por la web pero no doy con ello y tengo poco tiempo para solucioanr esto haber ...
  #1 (permalink)  
Antiguo 18/09/2008, 04:54
 
Fecha de Ingreso: febrero-2008
Mensajes: 24
Antigüedad: 16 años, 2 meses
Puntos: 0
Error al Seleccionar un label en un datalist

Me estoy volviendo loco con una bobada, he buscado por la web pero no doy con ello y tengo poco tiempo para solucioanr esto haber si alguien me puede ayudar.
Tengo un datalist con un linkbutton para hacer las tipicas noticias donde primero pone solo los asuntos y cuando pinchen sale la noticia entera.
Bien solo me queda capturar el valor de un label que tengo en el intemtemplate donde esta el id del registro de la noticia para visualizar el cuerpo de la noticia.
El caso es que me genera un error "Referencia a objeto no establecida como instancia de un objeto."
He visto mil ejemplos y todos funcionan asi pero nada no rula. Tambien probe con "Dim lbl As Label = ctype(DataList1.SelectedItem.FindControl("lblId"), Label)" pero nada no funciona.

Código:
    Protected Sub LnkAsunto_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try


            ViewState("Visor") = Request.QueryString("Visor")

            If ViewState("Visor") <> 1 Then
                Dim Comunidad As String
                Comunidad = Util.Usuario.IdComunidad
                ViewState("Id") = Comunidad
            Else
                ViewState("Id") = Request.QueryString("Id")
            End If
            Dim NoticiaId As String

            Dim lbl As Label = DirectCast(DataList1.SelectedItem.FindControl("lblId"), Label)
            NoticiaId = lbl.Text

            Response.Redirect("~/Formularios/GestorContenidosNoticiasEdit.aspx?Id=" + NoticiaId + "&Comu=" + ViewState("Id"))
        Catch ex As Exception

        End Try
    End Sub
  #2 (permalink)  
Antiguo 18/09/2008, 06:42
 
Fecha de Ingreso: febrero-2008
Mensajes: 24
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Error al Seleccionar un label en un datalist

Ya se lo que falla pero no se como arreglarlo. El tema esta en que como uso el evento LnkAsunto_Click luego no sabe en que item esta. Si le pongo a piñon el intems(0) funciona pero claro siempre elige la misma noticia.
¿alguna idea?

Código:
    Protected Sub LnkAsunto_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Try


            ViewState("Visor") = Request.QueryString("Visor")

            If ViewState("Visor") <> 1 Then
                Dim Comunidad As String
                Comunidad = Util.Usuario.IdComunidad
                ViewState("Id") = Comunidad
            Else
                ViewState("Id") = Request.QueryString("Id")
            End If
            Dim NoticiaId As String

            Dim lbl As Label = CType(DataList1.Items(0).FindControl("lblId"), Label)



            NoticiaId = lbl.Text
            Response.Redirect("~/Formularios/GestorContenidosNoticiasEdit.aspx?Id=" + NoticiaId + "&Comu=" + ViewState("Id"))


        Catch ex As Exception

        End Try
    End Sub
  #3 (permalink)  
Antiguo 18/09/2008, 09:24
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Error al Seleccionar un label en un datalist

Hola

Podes hacer lo siguiente. En tu boton en vez de agregarle el evento del clic metele la propiedad commandname="VerNoticia" y en commandargument='<%# DataBinder.Eval(Container.DataItem, "idnoticia") %>'

Luego haces clic derecho en tu grilla para que veas las propiedades y seleccionas los eventes para verlos y haces doble clic en el evento ItemCommand, esto te generara una funcion y dentro de ella preguntas algo como:

IF e.CommandName = "VerNoticia" Then

....Agregas todo tu codigo
Dim id as Integer
id = cint(e.CommandArguments)


Y ahi tendrias ya una forma de poder acceder a tu id de la noticia seleccionada.

La otra opcion es que agreges DataKeys a tu DataList:
DataKeyField="title_id"

Fijate en este enlace:
http://www.ondotnet.com/pub/a/dotnet.../datalist.html
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #4 (permalink)  
Antiguo 19/09/2008, 08:08
 
Fecha de Ingreso: febrero-2008
Mensajes: 24
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Error al Seleccionar un label en un datalist

Aun estoy pensando como esta hecho pero FUNCIONA.

Muchas gracias me ha sido muy util.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:50.