none
Problema con <%#Eval("")%> en un textbox RRS feed

  • Pregunta

  •   

    Quiero mostrar en un label el resultado de mi consulta desde sql , el resultado lo guardo en una variable datosalumnos y  para mostrarlo en el label utilizo linea <asp:Label ID="datalum" runat="server" Text='<%#Eval("datosalumnos")%>'></asp:Label> . Pero no me sale que puedo estar fallando?

    codigo

       Public Sub loaddata()

        Dim sql As String = "select top 1 * from [dbo].[Dat_Alumno] where IDAlumno in (select idAlum from opp.tblpractica where idPracti='2009110245-1')"
            Dim dr As New SqlCommand(sql, con)
            Dim lector As SqlDataReader
            con.Open()
            lector = dr.ExecuteReader()
            If lector.Read() Then
                lbldatalum.Text = UCase(lector("Appat").ToString) + " " + UCase(lector("Apmat").ToString) + ", " + lector("Nombres").ToString
            End If
            lector.Close()
            con.Close()

            datosalumnos = lbldatalum.Text

        End Sub

    <div id="comentariof">La Universidad Continental en su proceso continuo de autoevaluación y con la finalidad de mejorar la formación que brinda desea realizar una encuesta para valorar
         el desempeño profesional del(a) estudiante y/o egresado(a)
             <i><b><asp:Label ID="datalum" runat="server" Text='<%#Eval("datosalumnos")%>'></asp:Label></b></i></div>

    sábado, 21 de marzo de 2015 15:32

Respuestas

  • hola

    pero sabes que el Eval solo funciona con controles que se pueden bindear, no aplica a un Label

    para mostrar una variable debes definir una propiedad publica en la pagina

    Public Property DatosAlumnos As String

    Nota: esta forma de definir la propiedad solo es aplicable a .net 4 o superior

    y usar  <%= Me.NombrePropiedad %>

    ----

    lo mas simple es asignar el valor directo a los controles mediante la propiedad

    en el codigo veo que usas

    If lector.Read() Then
      lbldatalum.Text = UCase(lector("Appat").ToString) + " " + UCase(lector("Apmat").ToString) + ", " + lector("Nombres").ToString
    End If

    o sea asignas los datos al label, no veo porque necesitas la variable, no parece tener sentido

    porque simplemente no pones el valor en un objeto Session o ViewState y asi lo conservas para poder asignarlo a otros controles

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    sábado, 21 de marzo de 2015 23:19

Todas las respuestas

  •  con.Close()
    
     datosalumnos = lbldatalum.Text <-- en teoria si comentas esta linea estaria resuelto :)
    
    End Sub

    y el label

    <asp:Label ID="datalum" runat="server" ></asp:Label>


    G. Poliovei


    sábado, 21 de marzo de 2015 15:42
  • no me ha funcionado lo que yo quiero es que esa variable pueda ser utilizada en varios controles como label, textbox,etc.. por eso pongo Text='<%#Eval("datosalumnos")%>'
    sábado, 21 de marzo de 2015 15:48
  • Es ke tu estas trabajando en .NET no en PHP, los valores a los labels , textbox etc se los das a traves de la propiedad texto desde el codigo detras

    control.Text = valor

    se entiende ?

     If lector.Read() Then
                datosalumnos = UCase(lector("Appat").ToString) + " " + UCase(lector("Apmat").ToString) + ", " + lector("Nombres").ToString
            End If
            lector.Close()
            con.Close()
    
            lbldatalum.Text = datosalumnos


    G. Poliovei


    sábado, 21 de marzo de 2015 15:55
  • hola

    pero sabes que el Eval solo funciona con controles que se pueden bindear, no aplica a un Label

    para mostrar una variable debes definir una propiedad publica en la pagina

    Public Property DatosAlumnos As String

    Nota: esta forma de definir la propiedad solo es aplicable a .net 4 o superior

    y usar  <%= Me.NombrePropiedad %>

    ----

    lo mas simple es asignar el valor directo a los controles mediante la propiedad

    en el codigo veo que usas

    If lector.Read() Then
      lbldatalum.Text = UCase(lector("Appat").ToString) + " " + UCase(lector("Apmat").ToString) + ", " + lector("Nombres").ToString
    End If

    o sea asignas los datos al label, no veo porque necesitas la variable, no parece tener sentido

    porque simplemente no pones el valor en un objeto Session o ViewState y asi lo conservas para poder asignarlo a otros controles

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    sábado, 21 de marzo de 2015 23:19