Avatar billede saudoo Nybegynder
18. marts 2007 - 13:58 Der er 8 kommentarer og
1 løsning

Clickhandler for en linkbutton man har genereret gennem repeater

Hej eksperter,

Dette har jeg godt nok en smule svært ved, så jeg håber i kan være til hjælp. :)

Jeg har gennem Repeater-kontrollen i Asp.net genereret x antal linkbuttons. Mit problem består i hvis jeg vil håndtere en af knappernes Click.

Jeg kan ikke finde ud af hvordan jeg skal kunne tilgå en knap hvis ID er ukendt.

Håber i kan hjælpe mig.
Avatar billede lifo Nybegynder
18. marts 2007 - 15:47 #1
er ikke helt sikker jeg forstår dit spørgsmål
men for at hårdtere et click behøver du ikke at kende dens id


i din repeater
<asp:LinkButton ID="LinkButton1" runat="server" OnCommand="LinkButton1_Command">LinkButton</asp:LinkButton>

så i din code begind
protected void LinkButton1_Command(object sender, CommandEventArgs e)
{
  // gør et eller andet
}
om du så skal sende noget specielt med i clicket så kan sætte CommandArgument og CommandName i din link button
Avatar billede saudoo Nybegynder
18. marts 2007 - 16:01 #2
Nu skriver jeg godt nok Vb.Net men vi burde kunne forstå hinanden.. Det er ikke værre end norsk og dansk. :P

Nu har jeg sat en CommandName på min Linkbutton der ligger i min Repeater. Her prøver jeg at indsætte det nr. der står i CommandArgument i den label der hedder lblVarer.

Protected Sub btnMenuPkt_Command(ByVal sender As Object, ByVal e As System.EventArgs)
    lblVarer.Text = btnMenuPkt.CommandArgument
End Sub

Men med mindre jeg deklarere knappen som en knap så brokker den sig over btnMenuPkt.CommandArgument..

Men når jeg prøver at deklerere den:
    Dim btnMenuPkt As New LinkButton()
    btnMenuPkt = CType(sender, LinkButton)

Så virker det alligevel.. Det er noget bøvl altså.. :D

Håber du kan hjælpe, og tak for hjælpen indtil videre.. ;)



Her har du iøvrigt koden for min repeater:
<asp:Repeater
ID = "repMenu"
runat = "server">
    <ItemTemplate>
    <asp:LinkButton
        ID = "btnMenuPkt"
        runat = "server"
        text = <%# DataBinder.Eval(Container.DataItem, "fldKategoriNavn") %>
        CommandArgument = <%# DataBinder.Eval(Container.DataItem, "fldId") %>
        CommandName = "btnMenuPkt_Command"
    /><br />
    </ItemTemplate>
</asp:Repeater>
Avatar billede saudoo Nybegynder
18. marts 2007 - 16:06 #3
Så virker det alligevel.. Det er noget bøvl altså.. :D

Skulle være


Så virker det alligevel ikke.. Det er noget bøvl altså.. :D
Avatar billede saudoo Nybegynder
18. marts 2007 - 17:01 #4
Du kan se hvordan det ikke virker her:
http://shop.letsfly.dk/

Det burde skifte til linkets navn. :\\
Avatar billede lifo Nybegynder
18. marts 2007 - 17:14 #5
Den brokker sig om CommandArgument fordi din metode deklarition(?) er forkert
det skal være System.Web.UI.WebControls.CommandEventArgs og ikke System.EventArgs

så kan du tilgå tin fldId sådan her

Protected Sub btnMenuPkt_Command(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.CommandEventArgs)
    lblVarer.Text = e.CommandArgument
End Sub

skal nok kalde ToString på din e.CommandArgument

protected void LinkButton1_Command(object sender,
og så mangler du at hokke up din OnCommand event
<asp:Repeater
ID = "repMenu"
runat = "server">
    <ItemTemplate>
    <asp:LinkButton
        ID = "btnMenuPkt"
        runat = "server"
        text = <%# DataBinder.Eval(Container.DataItem, "fldKategoriNavn") %>
        CommandArgument = <%# DataBinder.Eval(Container.DataItem, "fldId") %>
        CommandName = "btnMenuPkt_Command"
        OnCommand ="btnMenuPkt_Command"
    /><br />
    </ItemTemplate>
</asp:Repeater>
Avatar billede saudoo Nybegynder
18. marts 2007 - 17:29 #6
Ej.. men jeg tænker virkelig ikke særligt godt idag.. :D
Avatar billede lifo Nybegynder
18. marts 2007 - 17:31 #7
løste det dit problem ?
Avatar billede saudoo Nybegynder
18. marts 2007 - 17:33 #8
Ja.. Mange tak for hjælpen. :) Håber du kan bære over med min knapt så imponerende snilde idag..

Lig et svar.. :P
Avatar billede saudoo Nybegynder
18. marts 2007 - 17:34 #9
Det gjorde det ja.. :) Mange tak..
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



IT-JOB

Cognizant Technology Solutions Denmark ApS

Senior Delivery Manager

Danmarks Meteorologiske Institut

IT-operatør søges til DMI

PensionDanmark

Business Tester