将文本框值从 ASPX 传递到 ASHx

本文关键字:ASHx ASPX 文本 | 更新日期: 2023-09-27 18:36:01

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

string strQuery = "select img from exp where name='" + TextBox1.Text + "'";

这在 ASPX 中很好,但在图像处理程序 ASX 文件中,我想传递此文本框的值以便可以应用相同的 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。

将文本框值从 ASPX 传递到 ASHx

假设您在文本框所在的页面上有一个按钮:您可以将以下代码放在按钮单击处理程序中。

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