У меня есть выпадающий список с марками автомобилей, поэтому, когда я выбираю один, я нажимаю кнопку «поиск» и получаю данные в виде списка. Он работает нормально, но проблема в изображении или фотографии, я не знаю, как заставить это работать.
Ниже я представляю свой код, мне нужно его завершить. Я использую C # ASP.NET, SQL Server.
Это код в шаблоне.
<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>
Это код в кнопке поиска в WebForm.aspx.cs
:
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;
}
}
Это код в HttpImageHandler.ashx
:
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; }
}
}
Это код для Web.config
:
<httpHandlers>
<add verb="*" path="*.ashx" type="WebAdminEmpleados.HttpImageHandler"/>
</httpHandlers>