2011-06-19 16 views
7

にASHXファイルにクエリ文字列をどのように入手できますか私はバイナリイメージをSQL Serverデータベースに格納しています。私はそれを読み込んで、それを再調整するために、素晴らしい仕事をしています。グリッドビューでは、マスター/詳細ページの詳細のリンクがあります。 IここでのHTML部分に簡単なHTMLのイメージタグを使用するコードです午前:私はVS2010を使用していますが、ここではC#私はこれ、私はインターネットをチェックしてきたし、1つの答えはstackoverflowの時にここにあり、それはvb.netである、と私はC#を使用しています、</p> <p>k個の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のFirebugで見ると、クエリ文字列が正しく渡されていますが、ashxファイルで正しく処理されません。

私も試したコードのいくつかは、ここのようなコードの背後でそれを試してみました。

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

それは、コードは1行だけです...ああ、私は、この作品を知っている私は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は、あなたが渡すから名前です。

関連する問題

 関連する問題