我在数据库中有一个包含名称和图像的表 我想根据文本框中给出的名称加载图像
string strQuery = "select img from exp where name='" + TextBox1.Text + "'";
这在aspx中很好但在图像处理程序ashx文件中我想传递此文本框的值 这样可以应用相同的SQL查询
到现在为止我的处理程序文件是
using System;
using System.Web;
using System.Data.SqlClient;
public class ShowImage : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string imageid = context.Request.QueryString["img"];
SqlConnection con = new SqlConnection("server=.\\SQLEXPRESS;database=experiment;trusted_connection=true;");
con.Open();
SqlCommand command = new SqlCommand("select img from exp where (here i stuck....)", con);
SqlDataReader dr = command.ExecuteReader();
dr.Read();
context.Response.BinaryWrite((Byte[])dr[0]);
con.Close();
context.Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}
我想在c#asp.net中使用它。
答案 0 :(得分:0)
假设您在与文本框相同的页面上有一个按钮: 您可以将以下代码放在按钮单击处理程序中。
Response.Redirect( "ShowImage.ashx?ImageName=" & Server.UrlEncode(TextBox1.Text));
这将允许您像这样
访问图像处理程序中的图像string imageName = context.Request.QueryString["ImageName"];
SqlCommand command = new SqlCommand("select img from exp where name='" + imageName + "'", con);
当然,您应该使用参数化查询来防止SQL注入。