我一直在检查互联网,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(通用处理程序)中对参数进行硬编码时,我得到了图像
有人可以帮助我吗?
答案 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
是您传递的名称。