
¿Cómo poner imagen imagen en un listview desde una base de datos usando varbinary (max)?
Publicado por Luis (3 intervenciones) el 03/11/2019 03:41:49
Estoy perdido,no se que hacer.Esta incompleto.El listview funciona,se llena con los datos,a excepción de las fotos.
Este es el codigo en el template:
Este es el codigo para el botonbuscar en "WebForm.aspx.cs"
Este es el codigo para el "HttpImageHandler.ashx"
Este es el codigo para el "Web.config"
Este es el codigo en el template:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
asp:ListView ID="ListView1" runat="server" >
<ItemTemplate>
<div class="hola">
<table>
<tr><td>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Codigo", "HttpImageHandler.ashx?id={0}") %>' Width="100px" Height="100px" /></td></tr>
<tr><td><h3><%# Eval("Marca") %></h3></td></tr>
<tr><td><h4><%# Eval("Modelo") %></h4></td></tr>
<tr><td><h4><%# Eval("Color") %></h4></td></tr>
</table>
</div>
</ItemTemplate>
</asp:ListView>
Este es el codigo para el botonbuscar en "WebForm.aspx.cs"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
protected void btnbuscar_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(@"Data Source = MEGATRON;
Initial Catalog = RentCar; Integrated Security = True");
try
{
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Autos
WHERE Marca like '" + DropDownListMarcas.SelectedItem.Text + "%'", conn);
DataTable dt = new DataTable();
da.Fill(dt);
ListView1.DataSource = dt;
ListView1.DataBind();
}
catch (Exception ex)
{
throw ex;
}
}
Este es el codigo para el "HttpImageHandler.ashx"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class HttpImageHandler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
byte[] imagen = ; //aqui recuperas la imagen de la tabla
// Arma el contexto que enviara la imagen en el response
// se usa el nombre del empleado para el nombre del archivo que se envia
//
context.Response.Clear();
context.Response.AddHeader("content-disposition", string.Format("attachment;filename={0}", "nombreimagen"));
context.Response.ContentType = "image/jpg";
// Se escribe en el response la imagen asociada al empleado
//
context.Response.BinaryWrite(imagen);
context.Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}
Este es el codigo para el "Web.config"
1
2
3
<httpHandlers>
<add verb="*" path="*.ashx" type="WebAdminEmpleados.HttpImageHandler"/>
Valora esta pregunta


0