2011-06-19 18 views
7

我一直在检查互联网,有一个答案在这里计算器,但它是在vb.net中,我正在使用C#,我如何查询字符串到ashx的文件在C#

K,这是交易,我有一个二进制图像存储在SQL服务器数据库。我的工作很棒,可以加载它,也可以对它进行修改。在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的查询字符串,但我无法缝以获得'和'右键显示参数,我不断收到'<% '这是查询字符串的第一部分。

我看着它在Mozilla中的萤火虫和查询字符串正确通过,但它没有得到正确处理的ashx文件。

我也在后面的代码中试过它,比如这里是我尝试过的一些代码。

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

这仅仅是一个代码行......哦,我知道这个工程,因为当我硬编码在ASHX(通用处理器)的参数,我得到的图像回

可能有人请帮我?

+0

您的问题与您的ASHX无关,但与您的ASPX页面有关。如果该参数构建正确,您将在您的处理程序中获得正确的值。 –

回答

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

非常感谢,我知道这只是得到正确的语法,我今天也走了,但我检查了这段代码,一切都很好!再次感谢!它总是很简单! –

10

我使用ASHX这种方式,尝试用它为:

context.Request.Params["string"] 
+0

谢谢,这个作品也是! –

0

context.Request.Form["value"]

哪里value是你传递的名称。