C# Wie ändert man die ImageUrl dynamisch?

IKäsebrot

Ensign
Registriert
Juni 2014
Beiträge
245
Wie übergibt man mehrere Parameter an einen HTTPHandler?

Hallo zusammen,

ich komme eigentlich aus der WinForms-Ecke und habe einer absolute Anfängerfrage zu ASP.NET. Folgendes Szenario, ich habe ein Image-Control:

Code:
<asp:Image ID="imgView" runat="server" ImageUrl="ImageHandler.ashx?rezeptId=2"/>

Wie man erkennen kann wird hier der Verweis auf einen HTTPHandler und eine Id als Parameter für ImageUrl übergeben. Der Handler sieht dann wie folgt aus:

Code:
public class ImageHandler : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {

        int rezeptId = Int32.Parse(context.Request.QueryString["rezeptId"]);
        
        List<Image> images = DBManager.GetRezeptImages(rezeptId);
        context.Response.ContentType = "image/png";
        context.Response.BinaryWrite(Helper.ImageToByteArray(images[0]));
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }
}

Nun die Frage, gibt es eine Möglichkeit mehrere Parameter an den Handler zu übergeben? Ich habe folgendes versucht:
Code:
imgView.ImageUrl = "ImageHandler.ashx" + "?rezeptId=" + rezeptId.ToString() +"?imageId=1";


Gruß
Ergänzung ()

Ok hat sich erledigt. Ich hatte einen Fehler bei der Parameterübergabe. Da werden die Parameter nämlich mit "?" eingeleitet aber mit "&" angehängt, d.h.:

FALSCH:
Code:
imgView.ImageUrl = "ImageHandler.ashx" + "?rezeptId=" + rezeptId.ToString() +"?imageId=1";

RICHTIG:
Code:
imgView.ImageUrl = "ImageHandler.ashx" + "?rezeptId=" + rezeptId.ToString() +"&imageId=1";

Danke trotzdem!
 
Zuletzt bearbeitet:
Der Klassiker :D
 
Zurück
Oben