Avatar billede c-sharp Nybegynder
17. marts 2006 - 14:22 Der er 7 kommentarer og
1 løsning

Hjælp til evnet i forbindelse med usercontrol

Jeg har skrevet en event i min usercontrol så jeg i siden der implementere den kan se hvilken knap der bliver trykket på. Jeg har også skrevet et specielt event argument til denne event. Men det fejler :-(

Jeg har gjordt følgende

// Min usercontrol

public partial class usercontrol_produktListe : System.Web.UI.UserControl
{
    public event SwitchEventHandler Switch;

      ..............

    public delegate void SwitchEventHandler(object sender, SwitchEventArgs e);

  protected void produkt_repeater_OnItemCommand(object sender, RepeaterCommandEventArgs e)
    {       
        if (Switch != null)
            Switch(this, new SwitchEventArgs(e.CommandName.ToString()));
    }
}


// mit Event argument

public class SwitchEventArgs : System.EventArgs
{
    private string valgtProdukt;

    public string ValgtProdukt
    {
        get{return valgtProdukt;}
    }

    public SwitchEventArgs(string _valgtProdukt)
    {
        valgtProdukt = _valgtProdukt;
    }
}

// Min side der impelementere usercontrol

aspx:

<uc3:produkt_liste OnSwitch="skift"  ID="Produkt_liste1" runat="server" />


cs:
protected void skift(object sender, SwitchEventArgs e)
    {
        Response.Write("virker det?" );
    }


Jeg får følgende fejl:

No overload for 'skift' matches delegate 'usercontrol_produkt_liste.SwitchEventHandler'       
Hvis jeg bruger et standard Event argument virker det fint.
Avatar billede snepnet Nybegynder
18. marts 2006 - 15:12 #1
ja det virker lidt underligt ... umiddelbart ser det da meget godt ud ?!?
hvis du stadig har ballade med det kan du paste lidt mere kode herud - så tager jeg lige en kigger.
mvh
Avatar billede c-sharp Nybegynder
18. marts 2006 - 15:41 #2
hej snepnet, godt at se dig :0)

hvilken kode vil du gerne se nærmere på, jeg synes at jeg har smidt det der skulle være interresant. Som sagt så virker det hele fint når jeg bruger en alm. EventArgs, men i den fejl beskrivelse se det ud som om at den kigger efter definitionen af eventen i min usercontrol:

No overload for 'skift' matches delegate 'usercontrol_produkt_liste.SwitchEventHandler'
Avatar billede snepnet Nybegynder
18. marts 2006 - 15:55 #3
tak i lige måde :o)

ja - det ser sådan set bare ud som om den har fået noget galt i halsen, og jeg kan ikke umiddelbart af den kode du har sendt se noget der ser forkert ud.
såhh... jeg tænkte at der måske dukkede noget om hvis du postede noget mere :oD

er det 1.1 eller 2.0 du har lavet det i/med?

hvis det er 1.1 vil jeg tro at du har noget kode et sted hvor der står:
produkt_liste.Switch += new EventHandler(skift); // ell.

hvis det er 2.0 skal du flytte koden med din delegate og dit særlige argument ind i app_code folderen.

mvh
Avatar billede c-sharp Nybegynder
18. marts 2006 - 16:02 #4
Det er i asp.net 2.0.

Jeg har lavet min delegate i usercontrollen:

public delegate void SwitchEventHandler(object sender, SwitchEventArgs e);


Jeg har lavet en klasse i min special event i App_code:

public class SwitchEventArgs : System.EventArgs
{
    private string valgtProdukt;

    public string ValgtProdukt
    {
        get{return valgtProdukt;}
    }

    public SwitchEventArgs(string _valgtProdukt)
    {
        valgtProdukt = _valgtProdukt;
    }
}
Avatar billede c-sharp Nybegynder
18. marts 2006 - 16:03 #5
Jeg tilføjer evnenten i min deklartion af userkontrollen:

<uc3:produkt_liste OnSwitch="skift"  ID="Produkt_liste1" runat="server" />
Avatar billede snepnet Nybegynder
18. marts 2006 - 16:34 #6
bare lige for at være helt sikker:

du viser kode fra
public partial class usercontrol_produktListe

men får en fejl:
No overload for 'skift' matches delegate 'usercontrol_produkt_liste.SwitchEventHandler' 
altså usercontrol_produkt_liste ... ?!? har du 2 usercontrols i spil her?

men anyway - der er ikke noget i vejen med den kode du har vist .... jeg kan simpelthen ikke se det i hvert fald.

mvh
Avatar billede c-sharp Nybegynder
18. marts 2006 - 17:29 #7
Sådan noget skal man ikke rode med fredag eftermiddag :-)

Du lurede mig endnu engang, jo jeg havde 2 usercontrols som gjorde det samme men med forskellige interfaces!

Jeg takker endnu engang for din ekspertise!!! smid et svar så kyler jeg nogle point i din retning :-=)
Avatar billede snepnet Nybegynder
19. marts 2006 - 14:20 #8
velbekomme :o)
mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester