如何在c#中将查询字符串输入ashx文件

时间:2011-06-19 12:51:04

标签: c# asp.net

我一直在检查互联网,stackoverflow有一个答案,但它在vb.net,我使用的是c#,

k,这是交易,我有一个存储在sql server db中的二进制映像。我有这个工作很好,加载它,也是为了解决它。在gridview中,我有一个主/详细页面详细信息的链接。我在html部分使用一个简单的html图像标签,这里是代码:

我正在使用VS2010和C#

(displayDetail02.aspx)

<body>
<form id="form1" runat="server">
<div>
  <img id="Img1" width="500" 
               runat="server" 
               src="~/getLargeImage.ashx?Businessid=<%Eval(businessid)%>"
               alt="Business Image" 
               style="border: 1px inset"/>
</div>
</form>
</body>

这是背后的代码:

public partial class displayDetail02 : System.Web.UI.Page
{
   public string businessid = string.Empty;

   protected void Page_Load(object sender, EventArgs e)
   {
      if (!Page.IsPostBack)
      {
        businessid = Request.QueryString["businessid"];
      }
   }
}

(getLargeImage.ashx)

 public partial class getLargeImage : IHttpHandler {


 public void ProcessRequest(HttpContext context)
 {
    HttpContext _context = HttpContext.Current;
    context.Response.ContentType = "image/jpg";
    string businessid = Convert.ToString(context.Request.QueryString["businessid"]);    

  ...

我的问题是查询字符串变量,我已经尝试了很多不同的方法来格式化来自displayDetail02.aspx的查询字符串,但是我无法找到“和”右边显示参数,我一直得到'&lt; ;%'这是查询字符串的第一部分。

我在mozilla中的firebug中查看它并且查询字符串正确传递,但它没有在ashx文件中正确处理。

我也在后面的代码中试过它,就像这里有一些我试过的代码。

<% --src='<%# "getLargeImage.ashx?Businessid=" + Eval("Businessid") %>' --%>

这只是一行代码......哦,我知道这很有效,因为当我在ashx(通用处理程序)中对参数进行硬编码时,我得到了图像

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:10)

我正在以这种方式使用ashx,尝试将其用作:

context.Request.Params["string"]

答案 1 :(得分:4)

protected void Page_Load(object sender, EventArgs e)
   {
      if (!Page.IsPostBack)
      {
        Img1.Src = "~/getLargeImage.ashx?Businessid=" + Request.QueryString["businessid"];
      }
   }

答案 2 :(得分:0)

context.Request.Form["value"]

value是您传递的名称。