einfache Bildergalerie und falsche Signatur

18/05/2009 - 16:39 von Lupus Goebel | Report spam
Hallöschen,

in der Message-ID: <ermopL2fIHA.2540@TK2MSFTNGP05.phx.gbl> wind ein
Script gezeigt, das ich irgendwie nicht zum laufen bringe.

Folgende Fehlermeldung erhalte ich:



Compilerfehlermeldung: BC30408: Die Methode Protected Sub
Thumb_Click(sender As Object, e As System.EventArgs) hat nicht die
gleiche Signatur wie der Delegat Delegate Sub
ImageClickEventHandler(sender As Object, e As
System.Web.UI.ImageClickEventArgs).

Quellfehler:

Zeile 23: <asp:Repeater ID="Thumbs" runat="server">
Zeile 24: <ItemTemplate>
Zeile 25: <asp:ImageButton
Zeile 26: ID="Thumb"
Zeile 27: runat="server"


Quelldatei: F:\localserver\web02\gallery.aspx Zeile: 25


Schön und gut, aber das Problem konnte ich dennoch nicht lösen.


Hier meine Quellcode:

Datei: gallery.aspx.vb
\\\
Imports System.IO.Directory
Imports System.Collections.Generic
Imports System.IO

Partial Class _gallery

Inherits System.Web.UI.Page

Protected Sub Thumb_Click(ByVal sender As Object,
ByVal e As System.EventArgs)
CurrentImage.ImageUrl = "~/Images/Gallery/" &
CType(sender, ImageButton).CommandArgument
End Sub


Sub Page_Load(ByVal sender As Object,
ByVal e As System.EventArgs) Handles Me.Load

Dim FileNames As String()
= GetFiles(Server.MapPath("~/Images/Gallery/Thumbs/"))
Dim files As New List(Of FileInfo)

For Each FileName As String In FileNames
files.Add(New IO.FileInfo(FileName))
Next

Thumbs.DataSource = files
Thumbs.DataBind()

If Not Page.IsPostBack Then
CurrentImage.ImageUrl = "~/Images/Gallery/" & files(0).Name
End If
End Sub

End Class
///

Datei: gallery.aspx
\\\
<%@ Page Language="VB" AutoEventWireup="false"
CodeFile="gallery.aspx.vb" Inherits="_gallery" %>

.

<form id="form1" runat="server">
<asp:Repeater ID="Thumbs" runat="server">
<ItemTemplate>

*<asp:ImageButton*
ID="Thumb"
runat="server"
ImageUrl='<%# "~/Images/Gallery/Thumbs/" &
DataBinder.Eval( Container.DataItem, "Name" ) %>'
CommandName="ShowImage"
CommandArgument='<%# DataBinder.Eval
( Container.DataItem, "Name" ) %>'
OnClick="Thumb_Click" />

</ItemTemplate>
</asp:Repeater>
<br />
<asp:Image ID="CurrentImage" runat="server" />
</form>
///


Wer kann mir mal auf die Sprünge helfen mit der falschen Signatur?

MfG - Lupus Goebel
Der Sumpf- Morasthobbybastler und Anfaenger mit
Wissensdurst (http://www.lupusdw.de http://foto.lupusdw.de)
Urlaub macht man in Irland: http://www.eaglesnest-bb.com/
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
18/05/2009 - 16:48 | Warnen spam
Hallo Lupus,

"Lupus Goebel" schrieb:

Compilerfehlermeldung: BC30408: Die Methode Protected Sub Thumb_Click(sender As Object, e As System.EventArgs) hat nicht die
gleiche Signatur wie der Delegat Delegate Sub ImageClickEventHandler(sender As Object, e As System.Web.UI.ImageClickEventArgs).



Dann schreib das hier:

Protected Sub Thumb_Click( ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs )

Damit sollte dann gehen.

*<asp:ImageButton
ID="Thumb"
runat="server"


...
OnClick="Thumb_Click" />



Wenn Du einen Eventhandler angibst, der nicht automatisch generiert wurde,
musst Du natürlich schon selbst darauf achten, dass die Übergabeparameter
stimmen. Am einfachsten ist es meist, sich das gewünschte Control bspw. in
einer Testseite einzufügen und den Code für den Eventhandler in der IDE
generieren zu lassen. (Listenfelder oberhalb des Codebereichs, ggfs. reicht
bei bestimmten Controls auch ein Doppelklick auf das Control im Designer)

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen