none
no puedo mostrar una lista de imagenes en VB&SQL RRS feed

  • Pregunta

  • Hola amigos tengo un problema, tengo una base de datos donde guardo las rutas de imagenes y quiero recuperarlas y mostrarlas en un documento aspx, trato de  agregar las rutas a un listof y tambien pasarlas a una propiedad publica  que eh creado pero me sale un error de img no es miembro de asp.default_aspx (img es la propiedad que cree), no se que tengo mal necesito su ayuda

    <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="hola._Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
    <div id="muestra"></div>
        <form id="form1" runat="server">
        <div>    
            <asp:Button ID="Button1" runat="server" Text="Button" />
        </div>    
        </form>
        <img src="<%=Me.img%>" />
    </body>
    </html>

    codebehind

    Imports System.Data.Sql
    Imports System.Data
    Imports System.Data.SqlClient
    
    Public Class _Default
        Inherits System.Web.UI.Page
    
        Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
            Dim dr As SqlDataReader
            Dim rutasImg As New List(Of Imagenes)
            Dim cn As String
            cn = "Data Source=xxx; Initial Catalog=Usuarios; User Id=xxx;Password=xxx"
    
            Dim conexion As New SqlConnection(cn)
    
            Dim cmd As New SqlCommand()
            cmd.Connection = conexion
            cmd.CommandText = "SELECT* FROM usuarios"
            conexion.Open()
            dr = cmd.ExecuteReader()
    
    
            While dr.Read()
                Dim ruta As New Imagenes
                ruta.img = dr.Item("Imagen")
                rutasImg.Add(ruta)
            End While
            conexion.Close()
    
        End Sub

    clase donde esta la propiedad

    Public Class Imagenes
        Public Property img As String
    End Class


    ivxn25

    domingo, 31 de enero de 2016 0:15

Respuestas

  • Fíjate que en el aspx has puesto "Me.img". El "Me" significa "la clase actual", que en este caso es el class _Default. Pero la propiedad img no está en esa clase sino en otra, así que no la encuentra.

    Podrías cambiarlo por <img src="<%=Imagenes.img%>" /> para hacer referencia a la otra clase. Pero eso solo funcionará si la conviertes en estática (shared); si instancias la clase con un New dentro del _Default, no hay manera de que el aspx sepa cuál es la instancia que tiene que usar. Como mejor solución, yo te recomendaría suprimir la clase Imagenes y mover la propiedad img al _Default.

    • Marcado como respuesta Ivxn25 domingo, 31 de enero de 2016 21:53
    domingo, 31 de enero de 2016 7:48

Todas las respuestas

  • Fíjate que en el aspx has puesto "Me.img". El "Me" significa "la clase actual", que en este caso es el class _Default. Pero la propiedad img no está en esa clase sino en otra, así que no la encuentra.

    Podrías cambiarlo por <img src="<%=Imagenes.img%>" /> para hacer referencia a la otra clase. Pero eso solo funcionará si la conviertes en estática (shared); si instancias la clase con un New dentro del _Default, no hay manera de que el aspx sepa cuál es la instancia que tiene que usar. Como mejor solución, yo te recomendaría suprimir la clase Imagenes y mover la propiedad img al _Default.

    • Marcado como respuesta Ivxn25 domingo, 31 de enero de 2016 21:53
    domingo, 31 de enero de 2016 7:48
  • ok si es verdad lo del Me debe ser como lo has propuesto gracias Alberto

    ivxn25

    domingo, 31 de enero de 2016 21:59