Principales respuestas
no puedo mostrar una lista de imagenes en VB&SQL

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
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
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
-