2009-04-15 16 views
1

Ich habe ein bisschen Probleme mit einer alten Delphi.net-Anwendung.ASP.net Delphi dynamic imagebutton onclick event

Ich muss einige Miniaturansichten an einer bestimmten Stelle auf der Seite anzeigen, und wenn der Benutzer auf das Bild klickt, wird das Bild angezeigt.

Die Bilder sind eher klein, so dass ich mich nicht um die Erzeugung von Thumbnails gekümmert habe.

Das Problem ist, dass ich das Onclick-Ereignis nicht funktionieren kann.

Hier ist mein Code: (Dies ist in dem Ereignis Page Load)

filer := Directory.GetFiles(dirstr,soegestr); 
for f in filer do 
begin 
    img := ImageButton.Create; 
    img.ImageUrl := f; 
    img.Width := 30; 
    img.Height := 50; 
    img.Style.Add('margin-right','10px'); 
    include(img.Click, FragtbrevsBilledeClick); 
    PanelBilleder.Controls.Add(img); 
end; 

umfassen nichts tut. Das onclick-Ereignis löst nur ein Postback aus.

FragtbrevsClick ist wie folgt definiert:

procedure TWebForm1.FragtbrevsBilledeClick(Sender: TObject; 
    e: ImageClickEventArgs); 
begin 
    Response.Redirect((sender as ImageButton).ImageUrl); 
end; 

ein Breakpoint in fragtbrevs Einstellung klickt wird nie getroffen.

Ich bin kein regulärer Webentwickler, daher sind auch alternative Wege zur Lösung des Problems willkommen! :-)

Antwort

1

Alles, was Sie tun müssen, ist die PostBackURL -Eigenschaft des ImageButtons (sowie alle anderen Eigenschaften, die Sie mögen). Ein Click-Ereignishandler ist nicht erforderlich. Wenn Sie auf die Schaltfläche klicken, wird automatisch zum Speicherort PostBackURL umgeleitet. Dies sollte ausreichen, wenn Sie im FragtbrevelsBilledeClick-Ereignishandler nichts anderes tun.