将文本框值从aspx传递给ashx

时间:2013-10-19 17:44:18

标签: c# asp.net

我在数据库中有一个包含名称和图像的表 我想根据文本框中给出的名称加载图像

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中使用它。

1 个答案:

答案 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注入。